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

Memory journal

The deletion journal: its head and a page of it.

Menü der Dokumentation

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

GET/memory/v1/journal

Read the deletion journal head

Anmeldedaten
API-Key
Berechtigung
memory.read

Reads the current head of the deletion journal for the owner. An uninitiated journal returns its explicit genesis (sequence 0, the genesis digest).

curl
curl "https://console.eu.ccsio.ai/memory/v1/journal?tenant=<tenant>&project=<project>&journal_id=<journal_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
Pflicht
querystring

The tenant (c6 identifier).

project
Pflicht
querystring

The project id (c6 identifier).

journal_id
Pflicht
querystring

The journal id (c6 identifier).

Antworten

  • 200

    The journal head.

    Schema
    MemoryHeadResponse
    • headobjectPflicht

      A {journalId, sequence, chainDigest} position in the deletion chain. Sequence zero is the explicit genesis, never an absent digest.

      • journal_idstringPflicht

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

      • sequenceintegerPflicht

        at least 0

      • chain_digeststringPflicht

        pattern ^sha256:[0-9a-f]{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)

  • 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/memory/v1/journal/page

Read a deletion journal page

Anmeldedaten
API-Key
Berechtigung
memory.read

Reads a contiguous page of journal entries after the given sequence, at most limit (1..256). The page anchors at the owner's own predecessor at sequence = after (genesis when after = 0) and validates the span as contiguous from that anchor.

Weiterlesen

The 200 is reachable: a real, API-generated journal chain (for example the owner-scoped entry a successful erase appends) renders 200 with a non-empty page, and the empty page at genesis renders 200 with null Entries. A chain that fails digest verification — a corrupted or forged row — renders 400 journal-invalid, the invalid-journal closure (fail-closed); a foreign owner or a missing checkpoint renders the owner's own empty genesis page without disclosure.

curl
curl "https://console.eu.ccsio.ai/memory/v1/journal/page?tenant=<tenant>&project=<project>&journal_id=<journal_id>&after=<after>&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
Pflicht
querystring

The tenant (c6 identifier).

project
Pflicht
querystring

The project id (c6 identifier).

journal_id
Pflicht
querystring

The journal id (c6 identifier).

after
Pflicht
queryinteger

The sequence cursor to read after (non-negative integer).

limit
Pflicht
queryinteger

The page size (1..256).

Antworten

  • 200

    The journal page.

    Schema
    MemoryPageResponse
    • journalobjectPflicht

      One page of the deletion journal: the owner, the journal id, the prior head the page continues from, the current head the page reaches, and the contiguous entries between them. PascalCase (untagged domain.Journal).

      • OwnerobjectPflicht

        The erasure owner: exactly {tenantId, projectId}. PascalCase — the untagged domain.ErasureOwner renders as {Tenant, Project}.

        • TenantstringPflicht

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

        • ProjectstringPflicht

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

      • JournalIDstringPflicht

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

      • FromobjectPflicht

        A {JournalID, Sequence, ChainDigest} position in the deletion chain as the untagged domain.JournalHead renders on the wire (the erase's journal_head and the page's From/Head). Sequence zero is the explicit genesis.

        • JournalIDstringPflicht

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

        • SequenceintegerPflicht

          at least 0

        • ChainDigeststringPflicht

          pattern ^sha256:[0-9a-f]{64}$

      • HeadobjectPflicht

        A {JournalID, Sequence, ChainDigest} position in the deletion chain as the untagged domain.JournalHead renders on the wire (the erase's journal_head and the page's From/Head). Sequence zero is the explicit genesis.

        • JournalIDstringPflicht

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

        • SequenceintegerPflicht

          at least 0

        • ChainDigeststringPflicht

          pattern ^sha256:[0-9a-f]{64}$

      • Entriesarray of MemoryJournalEntry or nullPflicht
        • SequenceintegerPflicht

          at least 1

        • DispatchMemoryErasureDispatchPflicht

          The context-erasure-dispatch/v1 command as rendered on the wire (the page's journal entries). operationId embeds the preimage digest and tombstone_digest is its sha256 — the integrity pin that keeps a dispatch unforgeable. PascalCase (untagged domain.ErasureDispatch).

        • PreviousDigeststringPflicht

          pattern ^sha256:[0-9a-f]{64}$

        • ChainDigeststringPflicht

          pattern ^sha256:[0-9a-f]{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)

  • 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