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

Metering status

The state of the metering stream: its checkpoint and its degradation.

Menü der Dokumentation

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

GET/metering/v1/status/checkpoint

Read the C3 cursors for a stream scope

Anmeldedaten
API-Key
Berechtigung
usage.read

Reads the C3 status fields the metering domain owns for one (tenant, plane instance, stream) scope. The response is the closed 8-field metering C3 projection: kind (const status), the three scope slugs, contiguous_usage_through, usage_high_water, and exactly last_ship_age_seconds and chain_head null (C3-nullable, not metering-owned); every other C3 field is absent. A scope the pipeline has never observed is 404 checkpoint-not-found.

curl
curl "https://console.eu.ccsio.ai/metering/v1/status/checkpoint?tenant_id=<tenant_id>&plane_instance_id=<plane_instance_id>&stream_id=<stream_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 (C2/C8 slug pattern).

plane_instance_id
Pflicht
querystring

The plane instance identifier (C2/C8 slug pattern).

stream_id
Pflicht
querystring

The stream identifier (C2/C8 slug pattern).

Antworten

  • 200

    The metering-owned C3 projection for the scope.

    Schema
    StatusCheckpointView
    • kindanyPflicht

      always "status"

    • tenant_idstringPflicht

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

    • plane_instance_idstringPflicht

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

    • stream_idstringPflicht

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

    • contiguous_usage_throughintegerPflicht

      0 to 9007199254740991

    • usage_high_waterintegerPflicht

      0 to 9007199254740991

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

  • 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/metering/v1/status/degradation

Read the per-(measurement, reason) degraded-usage aggregate

Anmeldedaten
API-Key
Berechtigung
usage.read

Reads the per-(measurement, measurement_reason) count of usage facts in a window — the operator signal for how much usage was not exactly measured, and why. since is an optional RFC 3339 query parameter (default: 24 h before now); a present-but-malformed value is 400 invalid-request.

Weiterlesen

The window_start echoes the truncated UTC value. Rows are ordered by (measurement, reason), bounded by the C2 enum cardinality (3 measurements x 6 reasons), render [] when empty (never null), and carry reason null exactly for measured facts.

curl
curl "https://console.eu.ccsio.ai/metering/v1/status/degradation" \
  -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.

since
optional
querystring

RFC 3339, any offset; the read echoes the truncated UTC value; default window 24 h before now.

Antworten

  • 200

    The degradation aggregate for the window.

    Schema
    DegradationView
    • window_startstringPflicht

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

    • rowsarray of DegradationRowPflicht
      • measurementstringPflicht

        Erlaubte Werte: "measured""estimated""unknown"

      • reasonstring or nullPflicht

        The degradation reason; null exactly for measured facts.

        Erlaubte Werte: "coarse_counter""provider_estimate""final_usage_missing""meter_loss""canceled""implausible_count"

      • countintegerPflicht

        at least 0

  • 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