Invitations
Organization invitations. 10 operations
Expand an endpoint for authentication, parameters, request fields and responses.
GET/api/v1/realms/{realm}/organizations/{org}/invitations+
List invitations
Parameters
| Name | Location | Required | Details |
|---|---|---|---|
realm | path | Yes | Realm name (path-based issuer). Unknown realms return 404.{"type":"string"} |
org | path | Yes | Organization identifier (a selector; access is checked, API-003).{"type":"string"} |
X-Request-Id | header | — | Optional caller-supplied correlation ID (printable ASCII, at most 64 characters); otherwise generated. Echoed in X-Request-Id and problem request_id.{"type":"string","maxLength":64,"pattern":"^[\\x21-\\x7e]+$"} |
cursor | query | — | Opaque cursor from a previous page (next_cursor). Cursors are HMAC-bound to the realm and listing.{"type":"string"} |
limit | query | — | Page size; defaults to limits.default_page_size and is capped at limits.max_page_size.{"type":"integer","minimum":1} |
state | query | — | Filter by invitation state.{"type":"string"} |
Responses
200 OK
application/json
| Field | Type | Required | Description |
|---|---|---|---|
items | array | Yes | |
next_cursor | string | Yes | Opaque cursor for the next page; an empty string when there are no more results. Cursors are bound to the realm and listing and cannot be replayed elsewhere. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}400 Malformed request, invalid JSON (duplicate members, unknown fields, wrong types), invalid cursor or invalid transaction (code invalid_request, transaction_invalid, invalid_proof, invitation_invalid).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}401 Missing or invalid credentials (code unauthenticated or invalid_credentials). Includes WWW-Authenticate.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
},
"WWW-Authenticate": {
"$ref": "#/components/headers/WWW-Authenticate"
}
}403 Authenticated but not allowed (code forbidden, mfa_required, step_up_required, recent_authentication_required, grant_ceiling_exceeded, impersonation_restricted, account_unavailable, sso_required, recovery_restricted). Step-up problems carry obligations.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}404 Unknown realm or resource, or existence concealed from the caller (code not_found, feature_disabled).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}500 Unexpected error (code internal_error); no stack traces or secrets.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}503 Load shedding, realm unavailable or dependency failure (code unavailable, upstream_unavailable). May include Retry-After.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
},
"Retry-After": {
"$ref": "#/components/headers/Retry-After"
}
}Operation listInvitations · Schema definitions · OpenAPI contract
POST/api/v1/realms/{realm}/organizations/{org}/invitations+
Create an invitation
Parameters
| Name | Location | Required | Details |
|---|---|---|---|
realm | path | Yes | Realm name (path-based issuer). Unknown realms return 404.{"type":"string"} |
org | path | Yes | Organization identifier (a selector; access is checked, API-003).{"type":"string"} |
X-Request-Id | header | — | Optional caller-supplied correlation ID (printable ASCII, at most 64 characters); otherwise generated. Echoed in X-Request-Id and problem request_id.{"type":"string","maxLength":64,"pattern":"^[\\x21-\\x7e]+$"} |
Idempotency-Key | header | — | Actor/realm/route-bound idempotency key (API-005) for POST requests, at most 255 characters (422 otherwise), kept for 24 hours; only a digest of the key is stored. The request is identified by its method, exact path and body: a replay with the same path and body returns the stored status and response with Idempotent-Replayed: true; the same key with a different body or another path on the same route (another resource) returns 422 idempotency_key_reused; a request still in progress returns 409. Only successful responses are recorded: when the original request failed (an error or a status of 400 or above) the key is released and a retry runs again. Responses containing one-time secrets (members such as client_secret, token, api_key, access_token, refresh_token, id_token, recovery_codes, secret or webhook_secrets) are never stored or replayed (409 with original_status).{"type":"string","maxLength":255} |
Request body
application/json · required
| Field | Type | Required | Description |
|---|---|---|---|
allowed_domains | array,null | — | |
email | string | — | Target email; an email or user_id is required unless purpose is shared_link. |
locale | string | — | |
max_uses | integer | — | |
message | string | — | |
project_id | string | — | |
purpose | string | — | Defaults to organization_membership.organization_membership | project_access | shared_link |
role_ids | array,null | — | |
ttl_hours | integer | — | |
user_id | string | — |
Complete request schema
{
"additionalProperties": false,
"properties": {
"allowed_domains": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"email": {
"type": "string",
"description": "Target email; an email or user_id is required unless purpose is shared_link."
},
"locale": {
"type": "string"
},
"max_uses": {
"type": "integer"
},
"message": {
"type": "string"
},
"project_id": {
"type": "string"
},
"purpose": {
"type": "string",
"enum": [
"organization_membership",
"project_access",
"shared_link"
],
"description": "Defaults to organization_membership."
},
"role_ids": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
],
"maxItems": 10
},
"ttl_hours": {
"type": "integer"
},
"user_id": {
"type": "string"
}
},
"type": "object"
}Responses
201 Created
application/json
| Field | Type | Required | Description |
|---|---|---|---|
invitation | Invitation | Yes | |
invitation_secretone-time secret | string | — | Shared-link secret (only for purpose shared_link; mailed invitations never return it). Returned exactly once; it is never stored in plaintext, never shown again and never replayed from the idempotency store. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
},
"Idempotent-Replayed": {
"$ref": "#/components/headers/Idempotent-Replayed"
}
}400 Malformed request, invalid JSON (duplicate members, unknown fields, wrong types), invalid cursor or invalid transaction (code invalid_request, transaction_invalid, invalid_proof, invitation_invalid).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}401 Missing or invalid credentials (code unauthenticated or invalid_credentials). Includes WWW-Authenticate.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
},
"WWW-Authenticate": {
"$ref": "#/components/headers/WWW-Authenticate"
}
}403 Authenticated but not allowed (code forbidden, mfa_required, step_up_required, recent_authentication_required, grant_ceiling_exceeded, impersonation_restricted, account_unavailable, sso_required, recovery_restricted). Step-up problems carry obligations.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}404 Unknown realm or resource, or existence concealed from the caller (code not_found, feature_disabled).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}409 Conflicts with current state, or an idempotent request with the same key is still in progress / carried a one-time secret (code conflict, unexpected_step, last_owner, last_sign_in_method).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}413 Body exceeds limits.max_body_bytes (code payload_too_large).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}415 Wrong Content-Type (code unsupported_media_type).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}422 Validation failed (code validation_failed, password_policy, idempotency_key_reused); errors maps fields to messages.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}500 Unexpected error (code internal_error); no stack traces or secrets.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}503 Load shedding, realm unavailable or dependency failure (code unavailable, upstream_unavailable). May include Retry-After.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
},
"Retry-After": {
"$ref": "#/components/headers/Retry-After"
}
}Operation createInvitation · Schema definitions · OpenAPI contract
POST/api/v1/realms/{realm}/organizations/{org}/invitations/{id}/resend+
Rotate and resend an invitation
Any request body is ignored.
Parameters
| Name | Location | Required | Details |
|---|---|---|---|
realm | path | Yes | Realm name (path-based issuer). Unknown realms return 404.{"type":"string"} |
org | path | Yes | Organization identifier (a selector; access is checked, API-003).{"type":"string"} |
id | path | Yes | Resource identifier.{"type":"string"} |
X-Request-Id | header | — | Optional caller-supplied correlation ID (printable ASCII, at most 64 characters); otherwise generated. Echoed in X-Request-Id and problem request_id.{"type":"string","maxLength":64,"pattern":"^[\\x21-\\x7e]+$"} |
Idempotency-Key | header | — | Actor/realm/route-bound idempotency key (API-005) for POST requests, at most 255 characters (422 otherwise), kept for 24 hours; only a digest of the key is stored. The request is identified by its method, exact path and body: a replay with the same path and body returns the stored status and response with Idempotent-Replayed: true; the same key with a different body or another path on the same route (another resource) returns 422 idempotency_key_reused; a request still in progress returns 409. Only successful responses are recorded: when the original request failed (an error or a status of 400 or above) the key is released and a retry runs again. Responses containing one-time secrets (members such as client_secret, token, api_key, access_token, refresh_token, id_token, recovery_codes, secret or webhook_secrets) are never stored or replayed (409 with original_status).{"type":"string","maxLength":255} |
Responses
200 OK
application/json
| Field | Type | Required | Description |
|---|---|---|---|
status | string | Yes |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
},
"Idempotent-Replayed": {
"$ref": "#/components/headers/Idempotent-Replayed"
}
}401 Missing or invalid credentials (code unauthenticated or invalid_credentials). Includes WWW-Authenticate.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
},
"WWW-Authenticate": {
"$ref": "#/components/headers/WWW-Authenticate"
}
}403 Authenticated but not allowed (code forbidden, mfa_required, step_up_required, recent_authentication_required, grant_ceiling_exceeded, impersonation_restricted, account_unavailable, sso_required, recovery_restricted). Step-up problems carry obligations.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}404 Unknown realm or resource, or existence concealed from the caller (code not_found, feature_disabled).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}409 Conflicts with current state, or an idempotent request with the same key is still in progress / carried a one-time secret (code conflict, unexpected_step, last_owner, last_sign_in_method).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}422 Validation failed (code validation_failed, password_policy, idempotency_key_reused); errors maps fields to messages.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}429 Rate limited (code rate_limited). Includes Retry-After; never discloses per-user state.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
},
"Retry-After": {
"$ref": "#/components/headers/Retry-After"
}
}500 Unexpected error (code internal_error); no stack traces or secrets.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}503 Load shedding, realm unavailable or dependency failure (code unavailable, upstream_unavailable). May include Retry-After.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
},
"Retry-After": {
"$ref": "#/components/headers/Retry-After"
}
}Operation resendInvitation · Schema definitions · OpenAPI contract
POST/api/v1/realms/{realm}/organizations/{org}/invitations/{id}/revoke+
Revoke an invitation
Any request body is ignored.
Parameters
| Name | Location | Required | Details |
|---|---|---|---|
realm | path | Yes | Realm name (path-based issuer). Unknown realms return 404.{"type":"string"} |
org | path | Yes | Organization identifier (a selector; access is checked, API-003).{"type":"string"} |
id | path | Yes | Resource identifier.{"type":"string"} |
X-Request-Id | header | — | Optional caller-supplied correlation ID (printable ASCII, at most 64 characters); otherwise generated. Echoed in X-Request-Id and problem request_id.{"type":"string","maxLength":64,"pattern":"^[\\x21-\\x7e]+$"} |
Idempotency-Key | header | — | Actor/realm/route-bound idempotency key (API-005) for POST requests, at most 255 characters (422 otherwise), kept for 24 hours; only a digest of the key is stored. The request is identified by its method, exact path and body: a replay with the same path and body returns the stored status and response with Idempotent-Replayed: true; the same key with a different body or another path on the same route (another resource) returns 422 idempotency_key_reused; a request still in progress returns 409. Only successful responses are recorded: when the original request failed (an error or a status of 400 or above) the key is released and a retry runs again. Responses containing one-time secrets (members such as client_secret, token, api_key, access_token, refresh_token, id_token, recovery_codes, secret or webhook_secrets) are never stored or replayed (409 with original_status).{"type":"string","maxLength":255} |
Responses
204 No Content
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
},
"Idempotent-Replayed": {
"$ref": "#/components/headers/Idempotent-Replayed"
}
}401 Missing or invalid credentials (code unauthenticated or invalid_credentials). Includes WWW-Authenticate.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
},
"WWW-Authenticate": {
"$ref": "#/components/headers/WWW-Authenticate"
}
}403 Authenticated but not allowed (code forbidden, mfa_required, step_up_required, recent_authentication_required, grant_ceiling_exceeded, impersonation_restricted, account_unavailable, sso_required, recovery_restricted). Step-up problems carry obligations.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}404 Unknown realm or resource, or existence concealed from the caller (code not_found, feature_disabled).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}409 Conflicts with current state, or an idempotent request with the same key is still in progress / carried a one-time secret (code conflict, unexpected_step, last_owner, last_sign_in_method).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}422 Validation failed (code validation_failed, password_policy, idempotency_key_reused); errors maps fields to messages.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}500 Unexpected error (code internal_error); no stack traces or secrets.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}503 Load shedding, realm unavailable or dependency failure (code unavailable, upstream_unavailable). May include Retry-After.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
},
"Retry-After": {
"$ref": "#/components/headers/Retry-After"
}
}Operation revokeInvitation · Schema definitions · OpenAPI contract
POST/api/v1/realms/{realm}/invitations/inspect+
Inspect an invitation without consuming it
Invalid, expired and used invitations return the same error.
Parameters
| Name | Location | Required | Details |
|---|---|---|---|
realm | path | Yes | Realm name (path-based issuer). Unknown realms return 404.{"type":"string"} |
X-Request-Id | header | — | Optional caller-supplied correlation ID (printable ASCII, at most 64 characters); otherwise generated. Echoed in X-Request-Id and problem request_id.{"type":"string","maxLength":64,"pattern":"^[\\x21-\\x7e]+$"} |
Request body
application/json · required
| Field | Type | Required | Description |
|---|---|---|---|
invitationone-time secret | string | Yes |
Complete request schema
{
"type": "object",
"properties": {
"invitation": {
"type": "string",
"x-secret": true
}
},
"required": [
"invitation"
],
"additionalProperties": false
}Responses
200 OK
application/json
| Field | Type | Required | Description |
|---|---|---|---|
expires_at | string | Yes | |
organization_id | string | Yes | |
organization_name | string | Yes | |
purpose | string | Yes | |
requires_account | boolean | Yes |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}400 Malformed request, invalid JSON (duplicate members, unknown fields, wrong types), invalid cursor or invalid transaction (code invalid_request, transaction_invalid, invalid_proof, invitation_invalid).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}404 Unknown realm or resource, or existence concealed from the caller (code not_found, feature_disabled).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}413 Body exceeds limits.max_body_bytes (code payload_too_large).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}415 Wrong Content-Type (code unsupported_media_type).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}422 Validation failed (code validation_failed, password_policy, idempotency_key_reused); errors maps fields to messages.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}429 Rate limited (code rate_limited). Includes Retry-After; never discloses per-user state.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
},
"Retry-After": {
"$ref": "#/components/headers/Retry-After"
}
}500 Unexpected error (code internal_error); no stack traces or secrets.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}503 Load shedding, realm unavailable or dependency failure (code unavailable, upstream_unavailable). May include Retry-After.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
},
"Retry-After": {
"$ref": "#/components/headers/Retry-After"
}
}Operation inspectInvitation · Schema definitions · OpenAPI contract
POST/api/v1/realms/{realm}/invitations/accept+
Accept an invitation
Parameters
| Name | Location | Required | Details |
|---|---|---|---|
realm | path | Yes | Realm name (path-based issuer). Unknown realms return 404.{"type":"string"} |
X-Request-Id | header | — | Optional caller-supplied correlation ID (printable ASCII, at most 64 characters); otherwise generated. Echoed in X-Request-Id and problem request_id.{"type":"string","maxLength":64,"pattern":"^[\\x21-\\x7e]+$"} |
Idempotency-Key | header | — | Actor/realm/route-bound idempotency key (API-005) for POST requests, at most 255 characters (422 otherwise), kept for 24 hours; only a digest of the key is stored. The request is identified by its method, exact path and body: a replay with the same path and body returns the stored status and response with Idempotent-Replayed: true; the same key with a different body or another path on the same route (another resource) returns 422 idempotency_key_reused; a request still in progress returns 409. Only successful responses are recorded: when the original request failed (an error or a status of 400 or above) the key is released and a retry runs again. Responses containing one-time secrets (members such as client_secret, token, api_key, access_token, refresh_token, id_token, recovery_codes, secret or webhook_secrets) are never stored or replayed (409 with original_status).{"type":"string","maxLength":255} |
Request body
application/json · required
| Field | Type | Required | Description |
|---|---|---|---|
invitationone-time secret | string | Yes |
Complete request schema
{
"type": "object",
"properties": {
"invitation": {
"type": "string",
"x-secret": true
}
},
"required": [
"invitation"
],
"additionalProperties": false
}Responses
200 OK
application/json
| Field | Type | Required | Description |
|---|---|---|---|
invitation_id | string | Yes | |
membership_id | string | — | |
organization_id | string | Yes | |
project_id | string | — | |
assignment_ids | array | — |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
},
"Idempotent-Replayed": {
"$ref": "#/components/headers/Idempotent-Replayed"
}
}400 Malformed request, invalid JSON (duplicate members, unknown fields, wrong types), invalid cursor or invalid transaction (code invalid_request, transaction_invalid, invalid_proof, invitation_invalid).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}401 Missing or invalid credentials (code unauthenticated or invalid_credentials). Includes WWW-Authenticate.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
},
"WWW-Authenticate": {
"$ref": "#/components/headers/WWW-Authenticate"
}
}403 Authenticated but not allowed (code forbidden, mfa_required, step_up_required, recent_authentication_required, grant_ceiling_exceeded, impersonation_restricted, account_unavailable, sso_required, recovery_restricted). Step-up problems carry obligations.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}404 Unknown realm or resource, or existence concealed from the caller (code not_found, feature_disabled).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}409 Conflicts with current state, or an idempotent request with the same key is still in progress / carried a one-time secret (code conflict, unexpected_step, last_owner, last_sign_in_method).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}413 Body exceeds limits.max_body_bytes (code payload_too_large).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}415 Wrong Content-Type (code unsupported_media_type).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}422 Validation failed (code validation_failed, password_policy, idempotency_key_reused); errors maps fields to messages.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}500 Unexpected error (code internal_error); no stack traces or secrets.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}503 Load shedding, realm unavailable or dependency failure (code unavailable, upstream_unavailable). May include Retry-After.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
},
"Retry-After": {
"$ref": "#/components/headers/Retry-After"
}
}Operation acceptInvitation · Schema definitions · OpenAPI contract
POST/api/v1/realms/{realm}/invitations/decline+
Decline an invitation
Parameters
| Name | Location | Required | Details |
|---|---|---|---|
realm | path | Yes | Realm name (path-based issuer). Unknown realms return 404.{"type":"string"} |
X-Request-Id | header | — | Optional caller-supplied correlation ID (printable ASCII, at most 64 characters); otherwise generated. Echoed in X-Request-Id and problem request_id.{"type":"string","maxLength":64,"pattern":"^[\\x21-\\x7e]+$"} |
Idempotency-Key | header | — | Actor/realm/route-bound idempotency key (API-005) for POST requests, at most 255 characters (422 otherwise), kept for 24 hours; only a digest of the key is stored. The request is identified by its method, exact path and body: a replay with the same path and body returns the stored status and response with Idempotent-Replayed: true; the same key with a different body or another path on the same route (another resource) returns 422 idempotency_key_reused; a request still in progress returns 409. Only successful responses are recorded: when the original request failed (an error or a status of 400 or above) the key is released and a retry runs again. Responses containing one-time secrets (members such as client_secret, token, api_key, access_token, refresh_token, id_token, recovery_codes, secret or webhook_secrets) are never stored or replayed (409 with original_status).{"type":"string","maxLength":255} |
Request body
application/json · required
| Field | Type | Required | Description |
|---|---|---|---|
invitationone-time secret | string | Yes |
Complete request schema
{
"type": "object",
"properties": {
"invitation": {
"type": "string",
"x-secret": true
}
},
"required": [
"invitation"
],
"additionalProperties": false
}Responses
204 No Content
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
},
"Idempotent-Replayed": {
"$ref": "#/components/headers/Idempotent-Replayed"
}
}400 Malformed request, invalid JSON (duplicate members, unknown fields, wrong types), invalid cursor or invalid transaction (code invalid_request, transaction_invalid, invalid_proof, invitation_invalid).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}401 Missing or invalid credentials (code unauthenticated or invalid_credentials). Includes WWW-Authenticate.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
},
"WWW-Authenticate": {
"$ref": "#/components/headers/WWW-Authenticate"
}
}403 Authenticated but not allowed (code forbidden, mfa_required, step_up_required, recent_authentication_required, grant_ceiling_exceeded, impersonation_restricted, account_unavailable, sso_required, recovery_restricted). Step-up problems carry obligations.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}404 Unknown realm or resource, or existence concealed from the caller (code not_found, feature_disabled).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}409 Conflicts with current state, or an idempotent request with the same key is still in progress / carried a one-time secret (code conflict, unexpected_step, last_owner, last_sign_in_method).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}413 Body exceeds limits.max_body_bytes (code payload_too_large).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}415 Wrong Content-Type (code unsupported_media_type).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}422 Validation failed (code validation_failed, password_policy, idempotency_key_reused); errors maps fields to messages.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}500 Unexpected error (code internal_error); no stack traces or secrets.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}503 Load shedding, realm unavailable or dependency failure (code unavailable, upstream_unavailable). May include Retry-After.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
},
"Retry-After": {
"$ref": "#/components/headers/Retry-After"
}
}Operation declineInvitation · Schema definitions · OpenAPI contract
POST/api/v1/realms/{realm}/organizations/{org}/invitations/batch+
Create invitations in bulk
Validates and creates up to 100 invitations independently (INV-011). Each entry has its own result; one failure never rolls back the others; delivery is queued per invitation. Shared links are not accepted in batches. Retrying with the same Idempotency-Key replays the original results.
Parameters
| Name | Location | Required | Details |
|---|---|---|---|
realm | path | Yes | Realm name (path-based issuer). Unknown realms return 404.{"type":"string"} |
org | path | Yes | Organization identifier (a selector; access is checked, API-003).{"type":"string"} |
X-Request-Id | header | — | Optional caller-supplied correlation ID (printable ASCII, at most 64 characters); otherwise generated. Echoed in X-Request-Id and problem request_id.{"type":"string","maxLength":64,"pattern":"^[\\x21-\\x7e]+$"} |
Idempotency-Key | header | — | Actor/realm/route-bound idempotency key (API-005) for POST requests, at most 255 characters (422 otherwise), kept for 24 hours; only a digest of the key is stored. The request is identified by its method, exact path and body: a replay with the same path and body returns the stored status and response with Idempotent-Replayed: true; the same key with a different body or another path on the same route (another resource) returns 422 idempotency_key_reused; a request still in progress returns 409. Only successful responses are recorded: when the original request failed (an error or a status of 400 or above) the key is released and a retry runs again. Responses containing one-time secrets (members such as client_secret, token, api_key, access_token, refresh_token, id_token, recovery_codes, secret or webhook_secrets) are never stored or replayed (409 with original_status).{"type":"string","maxLength":255} |
Request body
application/json · required
| Field | Type | Required | Description |
|---|---|---|---|
items | array | Yes |
Complete request schema
{
"type": "object",
"properties": {
"items": {
"type": "array",
"minItems": 1,
"maxItems": 100,
"items": {
"$ref": "#/components/schemas/InvitationInput"
}
}
},
"required": [
"items"
],
"additionalProperties": false
}Responses
200 OK
application/json
| Field | Type | Required | Description |
|---|---|---|---|
batch_id | string | Yes | |
results | array | Yes |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}400 Malformed request, invalid JSON (duplicate members, unknown fields, wrong types), invalid cursor or invalid transaction (code invalid_request, transaction_invalid, invalid_proof, invitation_invalid).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}401 Missing or invalid credentials (code unauthenticated or invalid_credentials). Includes WWW-Authenticate.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
},
"WWW-Authenticate": {
"$ref": "#/components/headers/WWW-Authenticate"
}
}403 Authenticated but not allowed (code forbidden, mfa_required, step_up_required, recent_authentication_required, grant_ceiling_exceeded, impersonation_restricted, account_unavailable, sso_required, recovery_restricted). Step-up problems carry obligations.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}404 Unknown realm or resource, or existence concealed from the caller (code not_found, feature_disabled).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}409 Conflicts with current state, or an idempotent request with the same key is still in progress / carried a one-time secret (code conflict, unexpected_step, last_owner, last_sign_in_method).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}422 Validation failed (code validation_failed, password_policy, idempotency_key_reused); errors maps fields to messages.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}500 Unexpected error (code internal_error); no stack traces or secrets.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}Operation createInvitationBatch · Schema definitions · OpenAPI contract
POST/api/v1/realms/{realm}/organizations/{org}/invitations/{id}/reassign+
Reassign a pending invitation to a new target
Administrator-reviewed reassignment (INV-014): the pending invitation is revoked and superseded by a fresh invitation for the new address or account, re-validated against current roles, ceilings and domain policy. Requires org.invites.revoke as well and a review reason, which is audited.
Parameters
| Name | Location | Required | Details |
|---|---|---|---|
realm | path | Yes | Realm name (path-based issuer). Unknown realms return 404.{"type":"string"} |
org | path | Yes | Organization identifier (a selector; access is checked, API-003).{"type":"string"} |
id | path | Yes | Resource identifier.{"type":"string"} |
X-Request-Id | header | — | Optional caller-supplied correlation ID (printable ASCII, at most 64 characters); otherwise generated. Echoed in X-Request-Id and problem request_id.{"type":"string","maxLength":64,"pattern":"^[\\x21-\\x7e]+$"} |
Request body
application/json · required
| Field | Type | Required | Description |
|---|---|---|---|
email | string | — | |
user_id | string | — | |
reason | string | Yes | |
locale | string | — |
Complete request schema
{
"type": "object",
"properties": {
"email": {
"type": "string"
},
"user_id": {
"type": "string"
},
"reason": {
"type": "string",
"minLength": 3,
"maxLength": 500
},
"locale": {
"type": "string"
}
},
"required": [
"reason"
],
"additionalProperties": false
}Responses
201 OK
application/json
| Field | Type | Required | Description |
|---|---|---|---|
invitation | Invitation | — |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}400 Malformed request, invalid JSON (duplicate members, unknown fields, wrong types), invalid cursor or invalid transaction (code invalid_request, transaction_invalid, invalid_proof, invitation_invalid).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}401 Missing or invalid credentials (code unauthenticated or invalid_credentials). Includes WWW-Authenticate.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
},
"WWW-Authenticate": {
"$ref": "#/components/headers/WWW-Authenticate"
}
}403 Authenticated but not allowed (code forbidden, mfa_required, step_up_required, recent_authentication_required, grant_ceiling_exceeded, impersonation_restricted, account_unavailable, sso_required, recovery_restricted). Step-up problems carry obligations.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}404 Unknown realm or resource, or existence concealed from the caller (code not_found, feature_disabled).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}409 Conflicts with current state, or an idempotent request with the same key is still in progress / carried a one-time secret (code conflict, unexpected_step, last_owner, last_sign_in_method).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}422 Validation failed (code validation_failed, password_policy, idempotency_key_reused); errors maps fields to messages.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}500 Unexpected error (code internal_error); no stack traces or secrets.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}Operation reassignInvitation · Schema definitions · OpenAPI contract
GET/api/v1/realms/{realm}/organizations/{org}/invitations/{id}+
Get an invitation
One invitation of the organization with its state and an ETag (INV-001); the secret is never returned.
Parameters
| Name | Location | Required | Details |
|---|---|---|---|
realm | path | Yes | Realm name (path-based issuer). Unknown realms return 404.{"type":"string"} |
org | path | Yes | Organization identifier (a selector; access is checked, API-003).{"type":"string"} |
id | path | Yes | Resource identifier.{"type":"string"} |
X-Request-Id | header | — | Optional caller-supplied correlation ID (printable ASCII, at most 64 characters); otherwise generated. Echoed in X-Request-Id and problem request_id.{"type":"string","maxLength":64,"pattern":"^[\\x21-\\x7e]+$"} |
Responses
200 OK
application/json
| Field | Type | Required | Description |
|---|---|---|---|
accepted_at | string,null | — | |
accepted_by_user_id | string | — | |
allowed_domains | array,null | — | |
created_at | string | Yes | |
delivery_state | string | Yes | |
expires_at | string | Yes | |
id | string | Yes | |
inviter_id | string | Yes | |
inviter_type | string | Yes | |
max_uses | integer | Yes | |
batch_id | string | — | |
superseded_by | string | — | Set when an administrator reassigned this invitation (INV-014). |
membership_id | string | — | |
organization_id | string | Yes | |
project_id | string | — | |
purpose | string | Yes | |
role_ids | array,null | Yes | |
secret_version | integer | Yes | |
send_count | integer | Yes | |
state | string | Yes | |
target_email | string | — | |
target_user_id | string | — | |
use_count | integer | Yes | |
version | integer | Yes |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}400 Malformed request, invalid JSON (duplicate members, unknown fields, wrong types), invalid cursor or invalid transaction (code invalid_request, transaction_invalid, invalid_proof, invitation_invalid).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}401 Missing or invalid credentials (code unauthenticated or invalid_credentials). Includes WWW-Authenticate.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
},
"WWW-Authenticate": {
"$ref": "#/components/headers/WWW-Authenticate"
}
}403 Authenticated but not allowed (code forbidden, mfa_required, step_up_required, recent_authentication_required, grant_ceiling_exceeded, impersonation_restricted, account_unavailable, sso_required, recovery_restricted). Step-up problems carry obligations.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}404 Unknown realm or resource, or existence concealed from the caller (code not_found, feature_disabled).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}409 Conflicts with current state, or an idempotent request with the same key is still in progress / carried a one-time secret (code conflict, unexpected_step, last_owner, last_sign_in_method).
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}422 Validation failed (code validation_failed, password_policy, idempotency_key_reused); errors maps fields to messages.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}500 Unexpected error (code internal_error); no stack traces or secrets.
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | https://auth.proudbase.com/problems/{code} |
title | string | Yes | |
status | integer | Yes | |
code | string | Yes | Stable machine-readable error code.invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable |
detail | string | — | Client-safe detail; never contains secrets. |
errors | object | — | Field name -> validation message. |
request_id | string | — | Correlation identifier, equal to the X-Request-Id response header. |
obligations | array | — | Present on step-up / recent-authentication / MFA problems. |
original_status | integer | — | Present when an idempotent replay is refused because the original response carried a one-time secret. |
Response headers
{
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
}
}Operation getInvitation · Schema definitions · OpenAPI contract