Zum Hauptinhalt springen
DokumentationAudit · console.eu.ccsio.ai

Audit events

Reads of the audit chain: one event with its correlation view, a page of the chain, the head of a stream, an organization's streams and the facts of operator support access. They need `audit.read`.

Menü der Dokumentation

Die Beschreibungen der Operationen und Felder stammen aus dem Vertrag und sind auf Englisch.

GET/audit/v1/events

Read one audit event with its correlation view

Anmeldedaten
API-Key
Berechtigung
audit.read

Reads the durable C3 audit record back by tenant and event id, served alongside the eight-dimension correlation view. An unknown event is 404 (client category).

curl
curl "https://console.eu.ccsio.ai/audit/v1/events?tenant_id=<tenant_id>&event_id=<event_id>" \
  -H "Authorization: Bearer $CCSIO_API_KEY"

Parameter

NameInBeschreibung
X-Request-ID
optional
headerstring

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.

tenant_id
Pflicht
querystring

The tenant identifier (C3 slug pattern).

event_id
Pflicht
querystring

The audit event identifier (C3 slug pattern).

Antworten

  • 200

    The audit event and its correlation view.

    Schema
    AuditEventReadResponse
    • eventobjectPflicht
      • kindstringPflicht

        always "audit"

      • headerobjectPflicht
        • schema_versionstringPflicht

          always "c3/v1"

        • event_idstringPflicht

          pattern ^[a-z][a-z0-9._-]{0,127}$

        • tenant_idstringPflicht

          pattern ^[a-z][a-z0-9._-]{0,127}$

        • plane_instance_idstringPflicht

          pattern ^[a-z][a-z0-9._-]{0,127}$

        • occurred_atstringPflicht

          pattern ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$

        • seqAuditSeqViewPflicht
        • stream_epochstringPflicht

          pattern ^[a-z][a-z0-9._-]{0,127}$

      • gate_idstringPflicht

        pattern ^[a-z][a-z0-9._-]{0,127}$

      • run_idstringPflicht

        pattern ^[a-z][a-z0-9._-]{0,127}$

      • policy_idstringPflicht

        pattern ^[a-z][a-z0-9._-]{0,127}$

      • actor_refstringPflicht

        pattern ^[a-z][a-z0-9._-]{0,127}$

      • agent_spec_digeststringPflicht

        pattern ^[a-f0-9]{64}$

      • operation_digeststringPflicht

        pattern ^[a-f0-9]{64}$

      • evidence_digeststringPflicht

        pattern ^[a-f0-9]{64}$

      • chain_headstringPflicht

        pattern ^[a-f0-9]{64}$

      • decided_atstringPflicht

        pattern ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$

      • previous_chain_headstring or nullPflicht

        pattern ^[a-f0-9]{64}$

      • outcomestringPflicht

        Erlaubte Werte: "approved""denied""canceled""failed""observed"

    • correlationobjectPflicht
      • request_idstringPflicht

        pattern ^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$

      • trace_idstringPflicht

        pattern ^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$

      • organization_idstringPflicht

        pattern ^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$

      • session_idstring or nullPflicht

        pattern ^[a-z][a-z0-9._-]{0,127}$

      • residencystringPflicht

        pattern ^[a-z][a-z0-9._-]{0,127}$

      • regionstringPflicht

        pattern ^[a-z][a-z0-9._-]{0,127}$

      • model_idstring or nullPflicht

        pattern ^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$

      • deployment_idstring or nullPflicht

        pattern ^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$

  • 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.

GET/audit/v1/events/page

Read a page of the event chain

Anmeldedaten
API-Key
Berechtigung
audit.read

Reads a page of the event chain for a stream scope, keyset-paginated by the opaque after cursor. An unobserved scope renders an empty page, never 404.

curl
curl "https://console.eu.ccsio.ai/audit/v1/events/page?tenant_id=<tenant_id>&stream_id=<stream_id>&stream_epoch=<stream_epoch>&limit=<limit>" \
  -H "Authorization: Bearer $CCSIO_API_KEY"

Parameter

NameInBeschreibung
X-Request-ID
optional
headerstring

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.

tenant_id
Pflicht
querystring

The tenant identifier (C3 slug pattern).

stream_id
Pflicht
querystring

The stream identifier (C3 slug pattern).

stream_epoch
Pflicht
querystring

The stream epoch identifier (C3 slug pattern).

limit
Pflicht
queryinteger

Required. A positive integer page size. A non-integer limit renders 400 invalid-request; a value outside 1..128 renders 400 invalid-filter (the read model's page bound).

from
optional
querystring

Optional. The half-open range lower bound, [from, to): from must precede to; from-after-to renders 400 invalid-time-range, and a malformed C3 second-precision UTC form renders 400 invalid-request.

to
optional
querystring

Optional. The half-open range upper bound, [from, to): from must precede to; from-after-to renders 400 invalid-time-range, and a malformed C3 second-precision UTC form renders 400 invalid-request.

after
optional
querystring

Optional. The opaque page cursor returned by a previous page (given at most once; a second occurrence renders 400 invalid-request). A cursor minted for the other read renders 400 invalid-cursor - never a silent restart from the genesis.

Antworten

  • 200

    The event chain page (an empty page for an unobserved scope).

    Schema
    AuditEventPageResponse
    • eventsarray of AuditEventReadResponsePflicht
      • eventobjectPflicht
        • kindstringPflicht

          always "audit"

        • headerAuditHeaderViewPflicht
        • gate_idstringPflicht

          pattern ^[a-z][a-z0-9._-]{0,127}$

        • run_idstringPflicht

          pattern ^[a-z][a-z0-9._-]{0,127}$

        • policy_idstringPflicht

          pattern ^[a-z][a-z0-9._-]{0,127}$

        • actor_refstringPflicht

          pattern ^[a-z][a-z0-9._-]{0,127}$

        • agent_spec_digeststringPflicht

          pattern ^[a-f0-9]{64}$

        • operation_digeststringPflicht

          pattern ^[a-f0-9]{64}$

        • evidence_digeststringPflicht

          pattern ^[a-f0-9]{64}$

        • chain_headstringPflicht

          pattern ^[a-f0-9]{64}$

        • decided_atstringPflicht

          pattern ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$

        • previous_chain_headstring or nullPflicht

          pattern ^[a-f0-9]{64}$

        • outcomestringPflicht

          Erlaubte Werte: "approved""denied""canceled""failed""observed"

      • correlationobjectPflicht
        • request_idstringPflicht

          pattern ^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$

        • trace_idstringPflicht

          pattern ^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$

        • organization_idstringPflicht

          pattern ^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$

        • session_idstring or nullPflicht

          pattern ^[a-z][a-z0-9._-]{0,127}$

        • residencystringPflicht

          pattern ^[a-z][a-z0-9._-]{0,127}$

        • regionstringPflicht

          pattern ^[a-z][a-z0-9._-]{0,127}$

        • model_idstring or nullPflicht

          pattern ^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$

        • deployment_idstring or nullPflicht

          pattern ^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$

    • nextstring or nullPflicht
  • 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)

  • 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.

GET/audit/v1/chain-heads

Read the stream's chain head

Anmeldedaten
API-Key
Berechtigung
audit.read

Reads the current chain head (seq and digest) for a stream scope. An unknown scope is 404 (client category).

curl
curl "https://console.eu.ccsio.ai/audit/v1/chain-heads?tenant_id=<tenant_id>&stream_id=<stream_id>&stream_epoch=<stream_epoch>" \
  -H "Authorization: Bearer $CCSIO_API_KEY"

Parameter

NameInBeschreibung
X-Request-ID
optional
headerstring

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.

tenant_id
Pflicht
querystring

The tenant identifier (C3 slug pattern).

stream_id
Pflicht
querystring

The stream identifier (C3 slug pattern).

stream_epoch
Pflicht
querystring

The stream epoch identifier (C3 slug pattern).

Antworten

  • 200

    The stream's chain head.

    Schema
    AuditChainHeadResponse
    • tenant_idstringPflicht

      pattern ^[a-z][a-z0-9._-]{0,127}$

    • stream_idstringPflicht

      pattern ^[a-z][a-z0-9._-]{0,127}$

    • stream_epochstringPflicht

      pattern ^[a-z][a-z0-9._-]{0,127}$

    • seq_nintegerPflicht

      1 to 9007199254740991

    • chain_headstringPflicht

      pattern ^[a-f0-9]{64}$

  • 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.

GET/audit/v1/streams

List a tenant's event streams

Anmeldedaten
API-Key
Berechtigung
audit.read

Lists the event streams a tenant has recorded events on: one entry per distinct (stream_id, stream_epoch), with the stream's last chain position (seq_n) and the occurrence time of its last event, NEWEST FIRST by that time (ties broken by stream_id then stream_epoch), so the first entry is the most recently active stream.

Weiterlesen

It exists so a console can offer the streams to pick from instead of asking for their identifiers; the identifiers it returns are exactly what the chain-head read and the event chain page take. Bounded: at most the 200 most recently active streams are returned (a tenant records on a handful). A tenant that has recorded nothing renders an empty list, never 404. Same permission and tenant binding as the event chain page (audit.read at organization level; the tenant_id query parameter is the tenant binding source, a cross-organization value is 403 tenant-mismatch at the boundary). Reads are not sensitive and record nothing.

curl
curl "https://console.eu.ccsio.ai/audit/v1/streams?tenant_id=<tenant_id>" \
  -H "Authorization: Bearer $CCSIO_API_KEY"

Parameter

NameInBeschreibung
X-Request-ID
optional
headerstring

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.

tenant_id
Pflicht
querystring

The tenant identifier (C3 slug pattern).

Antworten

  • 200

    The tenant's streams, newest first (an empty list for a tenant that recorded nothing).

    Schema
    AuditStreamListResponse
    • tenant_idstringPflicht

      pattern ^[a-z][a-z0-9._-]{0,127}$

    • streamsarray of AuditStreamSummaryPflicht

      The tenant's streams, newest first by last_event_at.

      at most 200 items

      • stream_idstringPflicht

        pattern ^[a-z][a-z0-9._-]{0,127}$

      • stream_epochstringPflicht

        pattern ^[a-z][a-z0-9._-]{0,127}$

      • seq_nintegerPflicht

        The stream's last recorded chain position (the same value the chain-head read returns).

        1 to 9007199254740991

      • last_event_atstringPflicht

        The occurrence time (occurred_at) of the stream's last event, C3 second-precision UTC form.

        pattern ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$

  • 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)

  • 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.

GET/audit/v1/facts

Read a page of support-access facts

Anmeldedaten
API-Key
Berechtigung
audit.read

Reads a page of the support-access fact stream for an organization, keyset-paginated by the opaque after cursor. An unobserved organization renders an empty page, never 404.

curl
curl "https://console.eu.ccsio.ai/audit/v1/facts?organization=<organization>&limit=<limit>" \
  -H "Authorization: Bearer $CCSIO_API_KEY"

Parameter

NameInBeschreibung
X-Request-ID
optional
headerstring

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.

organization
Pflicht
querystring

Required. The organization identifier (C0 ref pattern); on the facts read it is the tenant binding source, so a cross-organization value is 403 tenant-mismatch at the deployment boundary.

limit
Pflicht
queryinteger

Required. A positive integer page size. A non-integer limit renders 400 invalid-request; a value outside 1..128 renders 400 invalid-filter (the read model's page bound).

grant_id
optional
querystring

Optional. The grant identifier (C0 ref pattern) the fact page is filtered to.

from
optional
querystring

Optional. The half-open range lower bound, [from, to): from must precede to; from-after-to renders 400 invalid-time-range, and a malformed C3 second-precision UTC form renders 400 invalid-request.

to
optional
querystring

Optional. The half-open range upper bound, [from, to): from must precede to; from-after-to renders 400 invalid-time-range, and a malformed C3 second-precision UTC form renders 400 invalid-request.

after
optional
querystring

Optional. The opaque page cursor returned by a previous page (given at most once; a second occurrence renders 400 invalid-request). A cursor minted for the other read renders 400 invalid-cursor - never a silent restart from the genesis.

Antworten

  • 200

    The support-access fact page (an empty page for an unobserved organization).

    Schema
    AuditFactPageResponse
    • factsarray of AuditFactPflicht
      • fact_idstringPflicht

        pattern ^[a-z][a-z0-9._-]{0,127}$

      • organization_idstringPflicht

        pattern ^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$

      • project_idstring or nullPflicht

        pattern ^[a-z][a-z0-9._-]{0,127}$

      • grant_idstringPflicht

        pattern ^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$

      • revisionintegerPflicht

        at least 1

      • principal_idstringPflicht

        pattern ^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$

      • resource_idstring or nullPflicht

        pattern ^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$

      • actionstringPflicht

        Erlaubte Werte: "created""approved""denied""expired""revoked""exercised"

      • resultstringPflicht

        Erlaubte Werte: "permitted""denied""effective"

      • ticketstring or nullPflicht

        1 to 240 characters

      • request_idstringPflicht

        pattern ^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$

      • trace_idstringPflicht

        pattern ^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$

      • residencystringPflicht

        pattern ^[a-z][a-z0-9._-]{0,127}$

      • regionstringPflicht

        pattern ^[a-z][a-z0-9._-]{0,127}$

      • recorded_atstringPflicht

        pattern ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$

      • effective_atstring or nullPflicht

        pattern ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$

    • nextstring or nullPflicht
  • 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)

  • 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.

Erzeugt aus den Plattformverträgen beim Commit 5f833620.

Plattform entdecken

Deinen ersten API-Key holen

Die Registrierung ist offen. Vier Schritte bis zum ersten Aufruf: Konto erstellen, Organisation anlegen, API-Key erzeugen, loslegen.

  1. 01Konto erstellen
  2. 02Organisation anlegen
  3. 03API-Key erzeugen
  4. 04Loslegen