エラーリファレンス

KeenAuth API のエラーレスポンスはすべて application/problem+json ドキュメント(RFC 9457)です。その type は https://docs.keenauth.com/errors/<code> で、下記の該当コードのページに解決されます。code メンバーは分岐に使う安定した機械可読な値です。

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