# Riferimento degli errori

Ogni risposta di errore delle API di KeenAuth è un documento `application/problem+json` (RFC 9457). Il suo `type` è `https://docs.keenauth.com/errors/<code>` e rimanda alla pagina di quel codice qui sotto. Il membro `code` è il valore stabile e leggibile dalle macchine da usare per le diramazioni logiche.

| Codice | Stato HTTP | Titolo |
|---|---|---|
| [`duplicate_key`](/docs/errors/duplicate_key) | 400 | Duplicate key |
| [`invalid_cursor`](/docs/errors/invalid_cursor) | 400 | Invalid cursor |
| [`invalid_filter`](/docs/errors/invalid_filter) | 400 | Invalid filter |
| [`invalid_forwarded_ip`](/docs/errors/invalid_forwarded_ip) | 400 | Invalid forwarded ip |
| [`malformed_request`](/docs/errors/malformed_request) | 400 | Malformed request |
| [`range_outside_retention`](/docs/errors/range_outside_retention) | 400 | Range outside retention |
| [`secret_key_in_browser`](/docs/errors/secret_key_in_browser) | 400 | Secret key in browser |
| [`unknown_field`](/docs/errors/unknown_field) | 400 | Unknown field |
| [`webauthn_challenge_invalid`](/docs/errors/webauthn_challenge_invalid) | 400 | WebAuthn challenge invalid |
| [`webauthn_origin_mismatch`](/docs/errors/webauthn_origin_mismatch) | 400 | WebAuthn origin mismatch |
| [`dashboard_identity_mismatch`](/docs/errors/dashboard_identity_mismatch) | 401 | Dashboard identity mismatch |
| [`dashboard_identity_missing`](/docs/errors/dashboard_identity_missing) | 401 | Dashboard identity missing |
| [`dashboard_tokens_suspended`](/docs/errors/dashboard_tokens_suspended) | 401 | Dashboard tokens suspended |
| [`insufficient_user_authentication`](/docs/errors/insufficient_user_authentication) | 401 | Insufficient user authentication |
| [`invalid_api_key`](/docs/errors/invalid_api_key) | 401 | Invalid api key |
| [`invalid_credential_type`](/docs/errors/invalid_credential_type) | 401 | Invalid credential type |
| [`invalid_credentials`](/docs/errors/invalid_credentials) | 401 | Invalid credentials |
| [`invalid_dpop_proof`](/docs/errors/invalid_dpop_proof) | 401 | Invalid DPoP proof |
| [`invalid_token`](/docs/errors/invalid_token) | 401 | Invalid token |
| [`publishable_key_mismatch`](/docs/errors/publishable_key_mismatch) | 401 | Publishable key mismatch |
| [`publishable_key_not_allowed`](/docs/errors/publishable_key_not_allowed) | 401 | Publishable key not allowed |
| [`static_key_disallowed`](/docs/errors/static_key_disallowed) | 401 | Static key disallowed |
| [`step_up_required`](/docs/errors/step_up_required) | 401 | Step up required |
| [`token_revoked`](/docs/errors/token_revoked) | 401 | Token revoked |
| [`unauthenticated`](/docs/errors/unauthenticated) | 401 | Unauthenticated |
| [`use_dpop_nonce`](/docs/errors/use_dpop_nonce) | 401 | Use DPoP nonce |
| [`user_verification_required`](/docs/errors/user_verification_required) | 401 | User verification required |
| [`webauthn_clone_suspected`](/docs/errors/webauthn_clone_suspected) | 401 | WebAuthn clone suspected |
| [`webauthn_credential_unknown`](/docs/errors/webauthn_credential_unknown) | 401 | WebAuthn credential unknown |
| [`webauthn_user_mismatch`](/docs/errors/webauthn_user_mismatch) | 401 | WebAuthn user mismatch |
| [`account_restricted`](/docs/errors/account_restricted) | 403 | Account restricted |
| [`authorization_failed`](/docs/errors/authorization_failed) | 403 | Authorization failed |
| [`environment_suspended`](/docs/errors/environment_suspended) | 403 | Environment suspended |
| [`headless_not_allowed`](/docs/errors/headless_not_allowed) | 403 | Headless not allowed |
| [`impersonation_not_allowed`](/docs/errors/impersonation_not_allowed) | 403 | Impersonation not allowed |
| [`impersonation_restricted`](/docs/errors/impersonation_restricted) | 403 | Impersonation restricted |
| [`insufficient_permissions`](/docs/errors/insufficient_permissions) | 403 | Insufficient permissions |
| [`ip_not_allowed`](/docs/errors/ip_not_allowed) | 403 | Ip not allowed |
| [`network_blocked`](/docs/errors/network_blocked) | 403 | Network blocked |
| [`no_allowed_method`](/docs/errors/no_allowed_method) | 403 | No allowed method |
| [`org_custom_roles_disabled`](/docs/errors/org_custom_roles_disabled) | 403 | Organization custom roles disabled |
| [`org_policy_authenticator_not_allowed`](/docs/errors/org_policy_authenticator_not_allowed) | 403 | Org policy authenticator not allowed |
| [`origin_not_allowed`](/docs/errors/origin_not_allowed) | 403 | Origin not allowed |
| [`permission_escalation`](/docs/errors/permission_escalation) | 403 | Permission escalation |
| [`plan_feature_unavailable`](/docs/errors/plan_feature_unavailable) | 403 | Plan feature unavailable |
| [`privileged_role_mapping_forbidden`](/docs/errors/privileged_role_mapping_forbidden) | 403 | Privileged role mapping forbidden |
| [`quota_exceeded`](/docs/errors/quota_exceeded) | 403 | Quota exceeded |
| [`role_not_assignable`](/docs/errors/role_not_assignable) | 403 | Role not assignable |
| [`signup_not_allowed`](/docs/errors/signup_not_allowed) | 403 | Signup not allowed |
| [`staff_transfer_not_assessed`](/docs/errors/staff_transfer_not_assessed) | 403 | Staff transfer not assessed |
| [`test_feature_not_in_production`](/docs/errors/test_feature_not_in_production) | 403 | Test feature not in production |
| [`user_not_active`](/docs/errors/user_not_active) | 403 | User not active |
| [`console_organization_forbidden`](/docs/errors/console_organization_forbidden) | 404 | Console organization forbidden |
| [`not_found`](/docs/errors/not_found) | 404 | Not found |
| [`method_not_allowed`](/docs/errors/method_not_allowed) | 405 | Method not allowed |
| [`api_key_limit_reached`](/docs/errors/api_key_limit_reached) | 409 | Api key limit reached |
| [`application_not_enabled`](/docs/errors/application_not_enabled) | 409 | Application not enabled |
| [`config_conflict`](/docs/errors/config_conflict) | 409 | Config conflict |
| [`config_plan_not_applicable`](/docs/errors/config_plan_not_applicable) | 409 | Config plan not applicable |
| [`confirmation_mismatch`](/docs/errors/confirmation_mismatch) | 409 | Confirmation mismatch |
| [`conflict`](/docs/errors/conflict) | 409 | Conflict |
| [`connection_in_use`](/docs/errors/connection_in_use) | 409 | Connection in use |
| [`connection_keys_not_dedicated`](/docs/errors/connection_keys_not_dedicated) | 409 | Connection keys not dedicated |
| [`connection_test_required`](/docs/errors/connection_test_required) | 409 | Connection test required |
| [`console_membership_rejected`](/docs/errors/console_membership_rejected) | 409 | Console membership rejected |
| [`console_organization_inactive`](/docs/errors/console_organization_inactive) | 409 | Console organization inactive |
| [`credential_already_registered`](/docs/errors/credential_already_registered) | 409 | Credential already registered |
| [`credential_limit_reached`](/docs/errors/credential_limit_reached) | 409 | Credential limit reached |
| [`custom_domain_in_use`](/docs/errors/custom_domain_in_use) | 409 | Custom domain in use |
| [`custom_domain_state_conflict`](/docs/errors/custom_domain_state_conflict) | 409 | Custom domain state conflict |
| [`custom_domain_taken`](/docs/errors/custom_domain_taken) | 409 | Custom domain taken |
| [`deletion_not_confirmed`](/docs/errors/deletion_not_confirmed) | 409 | Deletion not confirmed |
| [`domain_already_verified`](/docs/errors/domain_already_verified) | 409 | Domain already verified |
| [`domain_in_use_by_rp_id`](/docs/errors/domain_in_use_by_rp_id) | 409 | Domain in use by rp id |
| [`domain_limit_reached`](/docs/errors/domain_limit_reached) | 409 | Domain limit reached |
| [`domain_not_verified`](/docs/errors/domain_not_verified) | 409 | Domain not verified |
| [`downgrade_blocked_by_usage`](/docs/errors/downgrade_blocked_by_usage) | 409 | Downgrade blocked by usage |
| [`email_limit_reached`](/docs/errors/email_limit_reached) | 409 | Email limit reached |
| [`email_template_not_deliverable`](/docs/errors/email_template_not_deliverable) | 409 | Email template not deliverable |
| [`environment_user_limit_reached`](/docs/errors/environment_user_limit_reached) | 409 | Environment user limit reached |
| [`external_id_taken`](/docs/errors/external_id_taken) | 409 | External ID taken |
| [`idempotency_in_progress`](/docs/errors/idempotency_in_progress) | 409 | Idempotency in progress |
| [`invitation_already_pending`](/docs/errors/invitation_already_pending) | 409 | Invitation already pending |
| [`issuer_change_requires_schedule`](/docs/errors/issuer_change_requires_schedule) | 409 | Issuer change requires schedule |
| [`last_factor`](/docs/errors/last_factor) | 409 | Last factor |
| [`last_login_method`](/docs/errors/last_login_method) | 409 | Last login method |
| [`last_org_admin`](/docs/errors/last_org_admin) | 409 | Last organization admin |
| [`last_owner`](/docs/errors/last_owner) | 409 | Last owner |
| [`last_verified_channel`](/docs/errors/last_verified_channel) | 409 | Last verified channel |
| [`membership_already_exists`](/docs/errors/membership_already_exists) | 409 | Membership already exists |
| [`membership_limit_reached`](/docs/errors/membership_limit_reached) | 409 | Membership limit reached |
| [`next_key_too_young`](/docs/errors/next_key_too_young) | 409 | Next key too young |
| [`no_active_rp_id_migration`](/docs/errors/no_active_rp_id_migration) | 409 | No active rp id migration |
| [`organization_disabled`](/docs/errors/organization_disabled) | 409 | Organization disabled |
| [`organization_membership_limit_reached`](/docs/errors/organization_membership_limit_reached) | 409 | Organization membership limit reached |
| [`organization_pending_deletion`](/docs/errors/organization_pending_deletion) | 409 | Organization pending deletion |
| [`policy_conflict_empty`](/docs/errors/policy_conflict_empty) | 409 | Policy conflict empty |
| [`policy_self_lockout`](/docs/errors/policy_self_lockout) | 409 | Policy self lockout |
| [`primary_identifier_required`](/docs/errors/primary_identifier_required) | 409 | Primary identifier required |
| [`primary_requires_verified`](/docs/errors/primary_requires_verified) | 409 | Primary requires verified |
| [`project_not_empty`](/docs/errors/project_not_empty) | 409 | Project not empty |
| [`role_in_use`](/docs/errors/role_in_use) | 409 | Role in use |
| [`role_key_conflict`](/docs/errors/role_key_conflict) | 409 | Role key conflict |
| [`role_limit_reached`](/docs/errors/role_limit_reached) | 409 | Role limit reached |
| [`role_mapping_limit_reached`](/docs/errors/role_mapping_limit_reached) | 409 | Role mapping limit reached |
| [`rp_id_change_requires_migration`](/docs/errors/rp_id_change_requires_migration) | 409 | Rp id change requires migration |
| [`rp_id_migration_in_progress`](/docs/errors/rp_id_migration_in_progress) | 409 | Rp id migration in progress |
| [`session_limit_reached`](/docs/errors/session_limit_reached) | 409 | Session limit reached |
| [`slug_change_rate_limited`](/docs/errors/slug_change_rate_limited) | 409 | Slug change rate limited |
| [`slug_reserved`](/docs/errors/slug_reserved) | 409 | Slug reserved |
| [`slug_taken`](/docs/errors/slug_taken) | 409 | Slug taken |
| [`sso_enforced_by_organization`](/docs/errors/sso_enforced_by_organization) | 409 | SSO enforced by organization |
| [`sso_enforcement_lockout`](/docs/errors/sso_enforcement_lockout) | 409 | Sso enforcement lockout |
| [`staff_identity_not_allowed`](/docs/errors/staff_identity_not_allowed) | 409 | Staff identity not allowed |
| [`test_idp_not_allowed_in_production`](/docs/errors/test_idp_not_allowed_in_production) | 409 | Test idp not allowed in production |
| [`transaction_state_conflict`](/docs/errors/transaction_state_conflict) | 409 | Transaction state conflict |
| [`username_unavailable`](/docs/errors/username_unavailable) | 409 | Username unavailable |
| [`config_plan_expired`](/docs/errors/config_plan_expired) | 410 | Config plan expired |
| [`endpoint_sunset`](/docs/errors/endpoint_sunset) | 410 | Endpoint sunset |
| [`transaction_expired`](/docs/errors/transaction_expired) | 410 | Transaction expired |
| [`user_deleted`](/docs/errors/user_deleted) | 410 | User deleted |
| [`precondition_failed`](/docs/errors/precondition_failed) | 412 | Precondition failed |
| [`version_conflict`](/docs/errors/version_conflict) | 412 | Version conflict |
| [`config_document_too_large`](/docs/errors/config_document_too_large) | 413 | Config document too large |
| [`payload_too_large`](/docs/errors/payload_too_large) | 413 | Payload too large |
| [`unsupported_media_type`](/docs/errors/unsupported_media_type) | 415 | Unsupported media type |
| [`wrong_region`](/docs/errors/wrong_region) | 421 | Wrong region |
| [`aaguid_not_allowed`](/docs/errors/aaguid_not_allowed) | 422 | AAGUID not allowed |
| [`allowlist_range_too_broad`](/docs/errors/allowlist_range_too_broad) | 422 | Allowlist range too broad |
| [`anonymous_user_not_allowed`](/docs/errors/anonymous_user_not_allowed) | 422 | Anonymous user not allowed |
| [`at_least_one_method`](/docs/errors/at_least_one_method) | 422 | At least one method |
| [`attestation_untrusted`](/docs/errors/attestation_untrusted) | 422 | Attestation untrusted |
| [`below_security_floor`](/docs/errors/below_security_floor) | 422 | Below security floor |
| [`branding_validation_failed`](/docs/errors/branding_validation_failed) | 422 | Branding validation failed |
| [`breached_password`](/docs/errors/breached_password) | 422 | Breached password |
| [`connection_requires_own_credentials`](/docs/errors/connection_requires_own_credentials) | 422 | Connection requires own credentials |
| [`device_bound_passkey_required`](/docs/errors/device_bound_passkey_required) | 422 | Device bound passkey required |
| [`domain_not_claimable`](/docs/errors/domain_not_claimable) | 422 | Domain not claimable |
| [`email_domain_not_allowed`](/docs/errors/email_domain_not_allowed) | 422 | Email domain not allowed |
| [`email_invalid`](/docs/errors/email_invalid) | 422 | Email invalid |
| [`email_subaddress_not_allowed`](/docs/errors/email_subaddress_not_allowed) | 422 | Email subaddress not allowed |
| [`extension_not_permitted`](/docs/errors/extension_not_permitted) | 422 | Extension not permitted |
| [`idempotency_key_reuse`](/docs/errors/idempotency_key_reuse) | 422 | Idempotency key reuse |
| [`invalid_audit_event`](/docs/errors/invalid_audit_event) | 422 | Invalid audit event |
| [`invalid_display_string`](/docs/errors/invalid_display_string) | 422 | Invalid display string |
| [`invitation_invalid`](/docs/errors/invitation_invalid) | 422 | Invitation invalid |
| [`ip_allowlist_would_lock_out`](/docs/errors/ip_allowlist_would_lock_out) | 422 | IP allowlist would lock out |
| [`jwe_key_required`](/docs/errors/jwe_key_required) | 422 | Jwe key required |
| [`legal_document_unreachable`](/docs/errors/legal_document_unreachable) | 422 | Legal document unreachable |
| [`may_act_limit`](/docs/errors/may_act_limit) | 422 | May act limit |
| [`password_policy_profile_violation`](/docs/errors/password_policy_profile_violation) | 422 | Password policy profile violation |
| [`password_policy_violation`](/docs/errors/password_policy_violation) | 422 | Password policy violation |
| [`permission_not_allowed`](/docs/errors/permission_not_allowed) | 422 | Permission not allowed |
| [`permission_reserved`](/docs/errors/permission_reserved) | 422 | Permission reserved |
| [`policy_conflict`](/docs/errors/policy_conflict) | 422 | Policy conflict |
| [`policy_out_of_bounds`](/docs/errors/policy_out_of_bounds) | 422 | Policy out of bounds |
| [`policy_weaker_than_parent`](/docs/errors/policy_weaker_than_parent) | 422 | Policy weaker than parent |
| [`related_origin_not_verified`](/docs/errors/related_origin_not_verified) | 422 | Related origin not verified |
| [`related_origins_label_limit`](/docs/errors/related_origins_label_limit) | 422 | Related origins label limit |
| [`report_range_exceeds_plan`](/docs/errors/report_range_exceeds_plan) | 422 | Report range exceeds plan |
| [`rp_id_not_registrable`](/docs/errors/rp_id_not_registrable) | 422 | Rp id not registrable |
| [`search_too_broad`](/docs/errors/search_too_broad) | 422 | Search too broad |
| [`sms_country_not_allowed`](/docs/errors/sms_country_not_allowed) | 422 | Sms country not allowed |
| [`template_forbidden_construct`](/docs/errors/template_forbidden_construct) | 422 | Template forbidden construct |
| [`test_recipient_not_allowed`](/docs/errors/test_recipient_not_allowed) | 422 | Test recipient not allowed |
| [`transfer_acknowledgement_required`](/docs/errors/transfer_acknowledgement_required) | 422 | Transfer acknowledgement required |
| [`unsupported_algorithm`](/docs/errors/unsupported_algorithm) | 422 | Unsupported algorithm |
| [`validation_failed`](/docs/errors/validation_failed) | 422 | Validation failed |
| [`verification_invalid`](/docs/errors/verification_invalid) | 422 | Verification invalid |
| [`challenge_required`](/docs/errors/challenge_required) | 428 | Challenge required |
| [`precondition_required`](/docs/errors/precondition_required) | 428 | Precondition required |
| [`export_rate_limited`](/docs/errors/export_rate_limited) | 429 | Export rate limited |
| [`invite_rate_limited`](/docs/errors/invite_rate_limited) | 429 | Invite rate limited |
| [`rate_limited`](/docs/errors/rate_limited) | 429 | Rate limited |
| [`verification_rate_limited`](/docs/errors/verification_rate_limited) | 429 | Verification rate limited |
| [`internal_error`](/docs/errors/internal_error) | 500 | Internal error |
| [`not_implemented`](/docs/errors/not_implemented) | 501 | Not implemented |
| [`deadline_exceeded`](/docs/errors/deadline_exceeded) | 503 | Deadline exceeded |
| [`maintenance`](/docs/errors/maintenance) | 503 | Maintenance |
| [`region_capacity_pending`](/docs/errors/region_capacity_pending) | 503 | Region capacity pending |
| [`service_unavailable`](/docs/errors/service_unavailable) | 503 | Service unavailable |
| [`temporarily_unavailable`](/docs/errors/temporarily_unavailable) | 503 | Temporarily unavailable |
| [`test_recipient_source_unavailable`](/docs/errors/test_recipient_source_unavailable) | 503 | Test recipient source unavailable |
