Die Beschreibungen der Operationen und Felder stammen aus dem Vertrag und sind auf Englisch.
/identity/v1/organizations/{org}/teams/{team}/membersList the team roster
- Anmeldedaten
- API-Key
- Berechtigung
- Eine von
team-members.readsupport-access.read
Lists the team's role bindings deterministic by member ref, each with the role the member really holds (the built-in team_admin and user, or a custom role id) and the binding's status; no stored role is left out. status selects active (the default), disabled or removed bindings.
curl "https://console.eu.ccsio.ai/identity/v1/organizations/{org}/teams/{team}/members" \
-H "Authorization: Bearer $CCSIO_API_KEY"Parameter
| Name | In | Beschreibung |
|---|---|---|
X-Request-IDoptional | header | string Optional request ULID. A valid ULID (upper or lowercase) is honored; when the header is absent or invalid, the runtime mints the id. The response X-Request-ID header carries the canonical uppercase form. |
orgPflicht | path | string The organization id (C7 identifier). A value outside the pattern is refused with 400 name-invalid. |
teamPflicht | path | string The team id (C7 identifier). A value outside the pattern is refused with 400 name-invalid. |
statusoptional | query | string The membership status filter: active (default), disabled or removed. Any other value is refused with 400 invalid-request. |
Antworten
- 200
The team roster (role bindings).
Schema
ListRoleBindingsResponsemembersarray of RoleBindingPflichtemailstringoptionalProvider profile email when known; never an authorization identifier.
display_namestringoptionalReadable human or service account name when known.
kindstringoptionalErlaubte Werte:
"human""service_account"organization_idstringPflichtpattern ^[a-z][a-z0-9._-]{0,63}$
team_idstring or nullPflichtnull for an organization-level binding.
pattern ^[a-z][a-z0-9._-]{0,63}$
user_refstringPflichtpattern ^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$
rolestringPflichtThe binding's role: a built-in role id or the id of one of the organization's custom roles.
pattern ^(ccsio_admin|root|organization_admin|team_admin|user|role_[a-z0-9_]{1,59})$
statusstringPflichtErlaubte Werte:
"active""disabled""removed"created_atstring (date-time)PflichtRFC 3339, second precision, UTC.
updated_atstring (date-time)PflichtRFC 3339, second precision, UTC.
- 400
Client refusal unrelated to authentication, including malformed input, a denied or failed request.
- 401
The request carries no credential, more than one, or one the platform does not accept, and is refused before the operation runs; `error.code` says why. Supply exactly one credential. Codes: invalid-request (no credential, or both Authorization:
Weiterlesen
Bearer and x-api-key), api-key-invalid (a value that is not a platform API key, or a key of a kind the platform does not accept), api-key-unknown, api-key-revoked, api-key-expired, bootstrap-disabled (the one-shot installation credential, once a key exists), token-malformed (a bearer token that is not a JWT), token-algorithm-unsupported, token-signature-invalid, token-claim-invalid, token-issuer-mismatch, token-audience-mismatch, token-expired, token-not-yet-valid, issuer-untrusted, issuer-residency-mismatch (the issuer belongs to another plane), issuer-resolution-unknown, jwks-unavailable, jwks-key-not-found, staff-token-inactive (a platform operator's token), staff-not-operator, staff-directory-unavailable, identity-not-provisioned (a verified identity with no account on this plane), organization-not-found (a verified identity or key whose organization this plane does not know), internal-error (a fault while the credential is checked is refused too, fail closed), context-cancelled
- 402
The organization has to pay first: its standing is payment_required.
Weiterlesen
The request boundary applies this payment gate to every route except an organization's billing routes, the caller's own context, organization list, onboarding, session report and personal keys, the public routes, and the routes of platform operators, who administer an organization that has to pay. The operations the gate covers declare this response. On /v1 the refusal is rendered in the OpenAI error format. Code: payment-required
- 403
The credential is valid but may not do this here; the request is refused by the request boundary before the handler runs, and `error.code` says which refusal. An operation may add codes of its own.
Weiterlesen
Codes: policy-denied (no role of the caller holds the permission the operation needs, or the credential class may not call it: a personal API key outside inference and MCP, a route that needs a signed-in person, the one-shot installation credential outside its three steps), tenant-mismatch (the organization a path, query, body or X-Tenant header names is not the caller's own), organization-provisioning, organization-suspended, organization-disabled, organization-deleted (the state of the caller's organization), user-disabled, residency-mismatch (the organization lives on another plane), organization-selection-required (a caller with more than one organization, or a platform operator, must name one in X-Organization-Id), organization-not-selectable, no-active-organization-membership, team-not-selectable (the X-Organization-Id or X-Team-Id the caller sent does not name an organization or team it may act in), identity-managed-by-provider (a person who is not a platform operator changes an organization's status, which belongs to the identity provider), support-session-required (a platform operator reads an organization's data without an open support session)
- 404
The requested resource or path was not found.
- 405
The path is claimed but the request method is not allowed. Go ServeMux returns its standard plain-text response and lists permitted methods in Allow.
- 500
Platform failure, rendered without internal cause details.
- 503
A dependency the operation needs is not configured on this plane or could not be reached, and nothing was changed. `error.code` names it; an operation lists the ones it can answer besides the boundary's. Retry later. Codes: support-audit-unavailable (the request boundary: an operator's read under an open support session could not be recorded, so nothing was served)
/identity/v1/organizations/{org}/teams/{team}/membersAdd (or re-add) a member to the team
- Anmeldedaten
- API-Key
- Berechtigung
team-members.manage- Request-Body
- Body bis 1 MiB
member_ref and role are both required; confirm_extra_seat is optional (default false). role is the team-assignable vocabulary: the built-in team_admin and user, or the id of one of the organization's custom roles (role_<id>); the legacy values admin and member are still accepted here and mean team_admin and user.
Weiterlesen
Upsert: adding an active member returns the stored role binding with its stored role (the upsert never rewrites a stored role); adding a removed or disabled member re-activates the row, again keeping the stored role. Escalation: the acting principal (the verified caller, never a request field) must be able to manage team members over this team (an organization root or organization_admin for any team of the organization, this team's own team_admin, a platform ccsio_admin, or a holder of a custom role carrying team-members.manage) and able to grant the role being written and, on a re-add, the role the row already holds; otherwise 403 membership-forbidden. An archived team takes no new members (409 team-archived). Seats: adding a human who has no access to the organization yet takes one seat. When the seats the plan includes are all used, a self-service organization with a running subscription must confirm the extra seat with confirm_extra_seat true (409 seat-confirmation-required otherwise, nothing changes); any other organization is refused (409 seat-limit-reached). Adding someone who already has access asks nothing; a service account takes a service account slot instead of a seat (409 service-account-limit-reached when none is left).
curl -X POST "https://console.eu.ccsio.ai/identity/v1/organizations/{org}/teams/{team}/members" \
-H "Authorization: Bearer $CCSIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"member_ref": "user/onboard/01K7YN2C4D6F8H1K3M5P7R9T0V",
"role": "user"
}'Parameter
| Name | In | Beschreibung |
|---|---|---|
X-Request-IDoptional | header | string Optional request ULID. A valid ULID (upper or lowercase) is honored; when the header is absent or invalid, the runtime mints the id. The response X-Request-ID header carries the canonical uppercase form. |
orgPflicht | path | string The organization id (C7 identifier). A value outside the pattern is refused with 400 name-invalid. |
teamPflicht | path | string The team id (C7 identifier). A value outside the pattern is refused with 400 name-invalid. |
Request-Body application/json
member_refstringPflichtThe member's C0 ref.
pattern ^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$
rolestringPflichtA built-in role id or a custom role id (role_<id>); only the team-level subset (team_admin, user and custom roles) is ever legal on THIS operation. The legacy values admin and member are still accepted here, and mean team_admin and user (the role change takes neither).
pattern ^(admin|member|ccsio_admin|root|organization_admin|team_admin|user|role_[a-z0-9_]{1,59})$
confirm_extra_seatbooleanoptionalOptional (default false): confirms the extra charge when adding this member needs one more seat than the plan includes (409 seat-confirmation-required without it).
Antworten
- 200
The team role binding (status active; the stored role is authoritative on a re-add).
Schema
RoleBindingemailstringoptionalProvider profile email when known; never an authorization identifier.
display_namestringoptionalReadable human or service account name when known.
kindstringoptionalErlaubte Werte:
"human""service_account"organization_idstringPflichtpattern ^[a-z][a-z0-9._-]{0,63}$
team_idstring or nullPflichtnull for an organization-level binding.
pattern ^[a-z][a-z0-9._-]{0,63}$
user_refstringPflichtpattern ^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$
rolestringPflichtThe binding's role: a built-in role id or the id of one of the organization's custom roles.
pattern ^(ccsio_admin|root|organization_admin|team_admin|user|role_[a-z0-9_]{1,59})$
statusstringPflichtErlaubte Werte:
"active""disabled""removed"created_atstring (date-time)PflichtRFC 3339, second precision, UTC.
updated_atstring (date-time)PflichtRFC 3339, second precision, UTC.
- 400
Client refusal unrelated to authentication, including malformed input, a denied or failed request.
- 401
The request carries no credential, more than one, or one the platform does not accept, and is refused before the operation runs; `error.code` says why. Supply exactly one credential. Codes: invalid-request (no credential, or both Authorization:
Weiterlesen
Bearer and x-api-key), api-key-invalid (a value that is not a platform API key, or a key of a kind the platform does not accept), api-key-unknown, api-key-revoked, api-key-expired, bootstrap-disabled (the one-shot installation credential, once a key exists), token-malformed (a bearer token that is not a JWT), token-algorithm-unsupported, token-signature-invalid, token-claim-invalid, token-issuer-mismatch, token-audience-mismatch, token-expired, token-not-yet-valid, issuer-untrusted, issuer-residency-mismatch (the issuer belongs to another plane), issuer-resolution-unknown, jwks-unavailable, jwks-key-not-found, staff-token-inactive (a platform operator's token), staff-not-operator, staff-directory-unavailable, identity-not-provisioned (a verified identity with no account on this plane), organization-not-found (a verified identity or key whose organization this plane does not know), internal-error (a fault while the credential is checked is refused too, fail closed), context-cancelled
- 402
The organization has to pay first: its standing is payment_required.
Weiterlesen
The request boundary applies this payment gate to every route except an organization's billing routes, the caller's own context, organization list, onboarding, session report and personal keys, the public routes, and the routes of platform operators, who administer an organization that has to pay. The operations the gate covers declare this response. On /v1 the refusal is rendered in the OpenAI error format. Code: payment-required
- 403
The credential is valid but may not do this here; the request is refused by the request boundary before the handler runs, and `error.code` says which refusal. An operation may add codes of its own.
Weiterlesen
Codes: policy-denied (no role of the caller holds the permission the operation needs, or the credential class may not call it: a personal API key outside inference and MCP, a route that needs a signed-in person, the one-shot installation credential outside its three steps), tenant-mismatch (the organization a path, query, body or X-Tenant header names is not the caller's own), organization-provisioning, organization-suspended, organization-disabled, organization-deleted (the state of the caller's organization), user-disabled, residency-mismatch (the organization lives on another plane), organization-selection-required (a caller with more than one organization, or a platform operator, must name one in X-Organization-Id), organization-not-selectable, no-active-organization-membership, team-not-selectable (the X-Organization-Id or X-Team-Id the caller sent does not name an organization or team it may act in), identity-managed-by-provider (a person who is not a platform operator changes an organization's status, which belongs to the identity provider), support-session-required (a platform operator reads an organization's data without an open support session)
- 404
The requested resource or path was not found.
- 405
The path is claimed but the request method is not allowed. Go ServeMux returns its standard plain-text response and lists permitted methods in Allow.
- 409
The request conflicts with the current state of the resource or with an invariant it protects (a taken name, a role still in use, an organization that must not be deleted, an archived team, the last active root, a seat or service account limit).
- 500
Platform failure, rendered without internal cause details.
{
"organization_id": "acme",
"team_id": "platform",
"user_ref": "user/onboard/01K7YN2C4D6F8H1K3M5P7R9T0V",
"role": "user",
"status": "active",
"created_at": "2026-10-14T09:40:00Z",
"updated_at": "2026-10-14T09:40:00Z",
"email": "[email protected]",
"display_name": "Ben Okafor",
"kind": "human"
}/identity/v1/organizations/{org}/teams/{team}/membersChange a team member's role
- Anmeldedaten
- API-Key
- Berechtigung
team-members.manage- Request-Body
- Body bis 1 MiB
member_ref and role are required. role is the team-assignable vocabulary: the built-in team_admin and user, or the id of one of the organization's custom roles (role_<id>).
Weiterlesen
Unlike the add on this same path it takes neither the legacy aliases admin and member (400 role-invalid) nor confirm_extra_seat (changing a role never needs a seat). Escalation: the acting principal (the verified caller, never a request field) must be able to manage team members over this team (an organization root or organization_admin for any team of the organization, this team's own team_admin, a platform ccsio_admin, or a holder of a custom role carrying team-members.manage) and able to grant both the new role and the member's current role: a built-in administrator outranks or equals a built-in role, and any role's permissions must be a subset of the actor's own at this scope; a custom-role holder can never grant root, organization_admin or team_admin. The request is otherwise 403 membership-forbidden.
curl -X PATCH "https://console.eu.ccsio.ai/identity/v1/organizations/{org}/teams/{team}/members" \
-H "Authorization: Bearer $CCSIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"member_ref": "string",
"role": "string"
}'Parameter
| Name | In | Beschreibung |
|---|---|---|
X-Request-IDoptional | header | string Optional request ULID. A valid ULID (upper or lowercase) is honored; when the header is absent or invalid, the runtime mints the id. The response X-Request-ID header carries the canonical uppercase form. |
orgPflicht | path | string The organization id (C7 identifier). A value outside the pattern is refused with 400 name-invalid. |
teamPflicht | path | string The team id (C7 identifier). A value outside the pattern is refused with 400 name-invalid. |
Request-Body application/json
member_refstringPflichtpattern ^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$
rolestringPflichtA built-in role id or a custom role id (role_<id>); only the team-level subset (team_admin, user and custom roles) is ever legal on THIS operation. The legacy values admin and member that the add accepts are refused here (400 role-invalid).
pattern ^(ccsio_admin|root|organization_admin|team_admin|user|role_[a-z0-9_]{1,59})$
Antworten
- 200
The updated team role binding.
Schema
RoleBindingemailstringoptionalProvider profile email when known; never an authorization identifier.
display_namestringoptionalReadable human or service account name when known.
kindstringoptionalErlaubte Werte:
"human""service_account"organization_idstringPflichtpattern ^[a-z][a-z0-9._-]{0,63}$
team_idstring or nullPflichtnull for an organization-level binding.
pattern ^[a-z][a-z0-9._-]{0,63}$
user_refstringPflichtpattern ^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$
rolestringPflichtThe binding's role: a built-in role id or the id of one of the organization's custom roles.
pattern ^(ccsio_admin|root|organization_admin|team_admin|user|role_[a-z0-9_]{1,59})$
statusstringPflichtErlaubte Werte:
"active""disabled""removed"created_atstring (date-time)PflichtRFC 3339, second precision, UTC.
updated_atstring (date-time)PflichtRFC 3339, second precision, UTC.
- 400
Client refusal unrelated to authentication, including malformed input, a denied or failed request.
- 401
The request carries no credential, more than one, or one the platform does not accept, and is refused before the operation runs; `error.code` says why. Supply exactly one credential. Codes: invalid-request (no credential, or both Authorization:
Weiterlesen
Bearer and x-api-key), api-key-invalid (a value that is not a platform API key, or a key of a kind the platform does not accept), api-key-unknown, api-key-revoked, api-key-expired, bootstrap-disabled (the one-shot installation credential, once a key exists), token-malformed (a bearer token that is not a JWT), token-algorithm-unsupported, token-signature-invalid, token-claim-invalid, token-issuer-mismatch, token-audience-mismatch, token-expired, token-not-yet-valid, issuer-untrusted, issuer-residency-mismatch (the issuer belongs to another plane), issuer-resolution-unknown, jwks-unavailable, jwks-key-not-found, staff-token-inactive (a platform operator's token), staff-not-operator, staff-directory-unavailable, identity-not-provisioned (a verified identity with no account on this plane), organization-not-found (a verified identity or key whose organization this plane does not know), internal-error (a fault while the credential is checked is refused too, fail closed), context-cancelled
- 402
The organization has to pay first: its standing is payment_required.
Weiterlesen
The request boundary applies this payment gate to every route except an organization's billing routes, the caller's own context, organization list, onboarding, session report and personal keys, the public routes, and the routes of platform operators, who administer an organization that has to pay. The operations the gate covers declare this response. On /v1 the refusal is rendered in the OpenAI error format. Code: payment-required
- 403
The credential is valid but may not do this here; the request is refused by the request boundary before the handler runs, and `error.code` says which refusal. An operation may add codes of its own.
Weiterlesen
Codes: policy-denied (no role of the caller holds the permission the operation needs, or the credential class may not call it: a personal API key outside inference and MCP, a route that needs a signed-in person, the one-shot installation credential outside its three steps), tenant-mismatch (the organization a path, query, body or X-Tenant header names is not the caller's own), organization-provisioning, organization-suspended, organization-disabled, organization-deleted (the state of the caller's organization), user-disabled, residency-mismatch (the organization lives on another plane), organization-selection-required (a caller with more than one organization, or a platform operator, must name one in X-Organization-Id), organization-not-selectable, no-active-organization-membership, team-not-selectable (the X-Organization-Id or X-Team-Id the caller sent does not name an organization or team it may act in), identity-managed-by-provider (a person who is not a platform operator changes an organization's status, which belongs to the identity provider), support-session-required (a platform operator reads an organization's data without an open support session)
- 404
The requested resource or path was not found.
- 405
The path is claimed but the request method is not allowed. Go ServeMux returns its standard plain-text response and lists permitted methods in Allow.
- 500
Platform failure, rendered without internal cause details.
/identity/v1/organizations/{org}/teams/{team}/membersRemove the member named by the query parameter
- Anmeldedaten
- API-Key
- Berechtigung
team-members.manage
The member is named by the required member_ref query parameter, query-carried because a C0 ref may contain '/' and ':', which path segments mangle. Returns the tombstoned role binding (status removed); re-removing returns the stored tombstone (idempotent).
Weiterlesen
Escalation: the same administrative-scope and rank rule as the add and the role change: the acting principal must be able to manage team members over this team and to grant the role the member holds, otherwise 403 membership-forbidden. A removal takes effect at once: the member's next request no longer authorizes through this team.
curl -X DELETE "https://console.eu.ccsio.ai/identity/v1/organizations/{org}/teams/{team}/members?member_ref=<member_ref>" \
-H "Authorization: Bearer $CCSIO_API_KEY"Parameter
| Name | In | Beschreibung |
|---|---|---|
X-Request-IDoptional | header | string Optional request ULID. A valid ULID (upper or lowercase) is honored; when the header is absent or invalid, the runtime mints the id. The response X-Request-ID header carries the canonical uppercase form. |
orgPflicht | path | string The organization id (C7 identifier). A value outside the pattern is refused with 400 name-invalid. |
teamPflicht | path | string The team id (C7 identifier). A value outside the pattern is refused with 400 name-invalid. |
member_refPflicht | query | string The member's C0 ref, query-carried because a C0 ref may contain '/' and ':' (path segments would mangle them into several tokens). |
Antworten
- 200
The role binding, status removed (the tombstone).
Schema
RoleBindingemailstringoptionalProvider profile email when known; never an authorization identifier.
display_namestringoptionalReadable human or service account name when known.
kindstringoptionalErlaubte Werte:
"human""service_account"organization_idstringPflichtpattern ^[a-z][a-z0-9._-]{0,63}$
team_idstring or nullPflichtnull for an organization-level binding.
pattern ^[a-z][a-z0-9._-]{0,63}$
user_refstringPflichtpattern ^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$
rolestringPflichtThe binding's role: a built-in role id or the id of one of the organization's custom roles.
pattern ^(ccsio_admin|root|organization_admin|team_admin|user|role_[a-z0-9_]{1,59})$
statusstringPflichtErlaubte Werte:
"active""disabled""removed"created_atstring (date-time)PflichtRFC 3339, second precision, UTC.
updated_atstring (date-time)PflichtRFC 3339, second precision, UTC.
- 400
Client refusal unrelated to authentication, including malformed input, a denied or failed request.
- 401
The request carries no credential, more than one, or one the platform does not accept, and is refused before the operation runs; `error.code` says why. Supply exactly one credential. Codes: invalid-request (no credential, or both Authorization:
Weiterlesen
Bearer and x-api-key), api-key-invalid (a value that is not a platform API key, or a key of a kind the platform does not accept), api-key-unknown, api-key-revoked, api-key-expired, bootstrap-disabled (the one-shot installation credential, once a key exists), token-malformed (a bearer token that is not a JWT), token-algorithm-unsupported, token-signature-invalid, token-claim-invalid, token-issuer-mismatch, token-audience-mismatch, token-expired, token-not-yet-valid, issuer-untrusted, issuer-residency-mismatch (the issuer belongs to another plane), issuer-resolution-unknown, jwks-unavailable, jwks-key-not-found, staff-token-inactive (a platform operator's token), staff-not-operator, staff-directory-unavailable, identity-not-provisioned (a verified identity with no account on this plane), organization-not-found (a verified identity or key whose organization this plane does not know), internal-error (a fault while the credential is checked is refused too, fail closed), context-cancelled
- 402
The organization has to pay first: its standing is payment_required.
Weiterlesen
The request boundary applies this payment gate to every route except an organization's billing routes, the caller's own context, organization list, onboarding, session report and personal keys, the public routes, and the routes of platform operators, who administer an organization that has to pay. The operations the gate covers declare this response. On /v1 the refusal is rendered in the OpenAI error format. Code: payment-required
- 403
The credential is valid but may not do this here; the request is refused by the request boundary before the handler runs, and `error.code` says which refusal. An operation may add codes of its own.
Weiterlesen
Codes: policy-denied (no role of the caller holds the permission the operation needs, or the credential class may not call it: a personal API key outside inference and MCP, a route that needs a signed-in person, the one-shot installation credential outside its three steps), tenant-mismatch (the organization a path, query, body or X-Tenant header names is not the caller's own), organization-provisioning, organization-suspended, organization-disabled, organization-deleted (the state of the caller's organization), user-disabled, residency-mismatch (the organization lives on another plane), organization-selection-required (a caller with more than one organization, or a platform operator, must name one in X-Organization-Id), organization-not-selectable, no-active-organization-membership, team-not-selectable (the X-Organization-Id or X-Team-Id the caller sent does not name an organization or team it may act in), identity-managed-by-provider (a person who is not a platform operator changes an organization's status, which belongs to the identity provider), support-session-required (a platform operator reads an organization's data without an open support session)
- 404
The requested resource or path was not found.
- 405
The path is claimed but the request method is not allowed. Go ServeMux returns its standard plain-text response and lists permitted methods in Allow.
- 500
Platform failure, rendered without internal cause details.
/identity/v1/organizations/{org}/teams/{team}/member-candidatesList eligible members for one team's member picker
- Anmeldedaten
- API-Key
- Berechtigung
team-members.manage
Requires team-members.manage for the named team. Returns only user_ref, display_name, email and kind of the active organization-level members with an active user account, excluding the active members of this team, ordered by user_ref. Human and service_account identities are supported. Organization roles and other team affiliations are never exposed. This permission does not grant organization-wide roster access.
curl "https://console.eu.ccsio.ai/identity/v1/organizations/{org}/teams/{team}/member-candidates" \
-H "Authorization: Bearer $CCSIO_API_KEY"Parameter
| Name | In | Beschreibung |
|---|---|---|
X-Request-IDoptional | header | string Optional request ULID. A valid ULID (upper or lowercase) is honored; when the header is absent or invalid, the runtime mints the id. The response X-Request-ID header carries the canonical uppercase form. |
orgPflicht | path | string The organization id (C7 identifier). A value outside the pattern is refused with 400 name-invalid. |
teamPflicht | path | string The team id (C7 identifier). A value outside the pattern is refused with 400 name-invalid. |
Antworten
- 200
Eligible member profiles; candidates is empty when none remain.
Schema
TeamMemberCandidatescandidatesarray of TeamMemberCandidatePflichtuser_refstringPflichtpattern ^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$
display_namestringPflichtemailstringPflichtkindstringPflichtErlaubte Werte:
"human""service_account"
- 400
Client refusal unrelated to authentication, including malformed input, a denied or failed request.
- 401
The request carries no credential, more than one, or one the platform does not accept, and is refused before the operation runs; `error.code` says why. Supply exactly one credential. Codes: invalid-request (no credential, or both Authorization:
Weiterlesen
Bearer and x-api-key), api-key-invalid (a value that is not a platform API key, or a key of a kind the platform does not accept), api-key-unknown, api-key-revoked, api-key-expired, bootstrap-disabled (the one-shot installation credential, once a key exists), token-malformed (a bearer token that is not a JWT), token-algorithm-unsupported, token-signature-invalid, token-claim-invalid, token-issuer-mismatch, token-audience-mismatch, token-expired, token-not-yet-valid, issuer-untrusted, issuer-residency-mismatch (the issuer belongs to another plane), issuer-resolution-unknown, jwks-unavailable, jwks-key-not-found, staff-token-inactive (a platform operator's token), staff-not-operator, staff-directory-unavailable, identity-not-provisioned (a verified identity with no account on this plane), organization-not-found (a verified identity or key whose organization this plane does not know), internal-error (a fault while the credential is checked is refused too, fail closed), context-cancelled
- 402
The organization has to pay first: its standing is payment_required.
Weiterlesen
The request boundary applies this payment gate to every route except an organization's billing routes, the caller's own context, organization list, onboarding, session report and personal keys, the public routes, and the routes of platform operators, who administer an organization that has to pay. The operations the gate covers declare this response. On /v1 the refusal is rendered in the OpenAI error format. Code: payment-required
- 403
The credential is valid but may not do this here; the request is refused by the request boundary before the handler runs, and `error.code` says which refusal. An operation may add codes of its own.
Weiterlesen
Codes: policy-denied (no role of the caller holds the permission the operation needs, or the credential class may not call it: a personal API key outside inference and MCP, a route that needs a signed-in person, the one-shot installation credential outside its three steps), tenant-mismatch (the organization a path, query, body or X-Tenant header names is not the caller's own), organization-provisioning, organization-suspended, organization-disabled, organization-deleted (the state of the caller's organization), user-disabled, residency-mismatch (the organization lives on another plane), organization-selection-required (a caller with more than one organization, or a platform operator, must name one in X-Organization-Id), organization-not-selectable, no-active-organization-membership, team-not-selectable (the X-Organization-Id or X-Team-Id the caller sent does not name an organization or team it may act in), identity-managed-by-provider (a person who is not a platform operator changes an organization's status, which belongs to the identity provider), support-session-required (a platform operator reads an organization's data without an open support session)
- 404
The requested resource or path was not found.
- 405
The path is claimed but the request method is not allowed. Go ServeMux returns its standard plain-text response and lists permitted methods in Allow.
- 409
The request conflicts with the current state of the resource or with an invariant it protects (a taken name, a role still in use, an organization that must not be deleted, an archived team, the last active root, a seat or service account limit).
- 500
Platform failure, rendered without internal cause details.
Erzeugt aus den Plattformverträgen beim Commit 5f833620.