Do you mean per identity? Recovery codes are always tied to a specific flow. If you create one for an identity via the Admin API, but the user also starts recovery on their own, they get a different flow with a different code. If they request a new code in the flow, the first one will be invalidated.