PLATFORM RC-76 Key Lifecycle Hardening (v1) (contract) (v1)

Download OpenAPI specification:

Contract-only key lifecycle endpoints for developer API keys. This document does not imply a runtime backend implementation.

Raw secret handling (explicit):

  • raw_key is returned only on create/rotate APPLIED outcomes.
  • list/get endpoints must never return raw secret material.

Create API key (idempotent; returns raw key once)

header Parameters
X-Correlation-Id
required
string
X-Idempotency-Key
required
string
Request Body schema: application/json
required
display_name
required
string
scopes
required
Array of strings
expires_at
string or null <date-time>
actor_id
string or null

Responses

Request samples

Content type
application/json
{
  • "display_name": "string",
  • "scopes": [
    ],
  • "expires_at": "2019-08-24T14:15:22Z",
  • "actor_id": "string"
}

Response samples

Content type
application/json
Example
{
  • "outcome": "APPLIED",
  • "reason_code": "string",
  • "correlation_id": "string",
  • "idempotency_key": "string",
  • "audit_event_id": "string",
  • "audit": {
    },
  • "key_id": "1e779c8a-6786-4c89-b7c3-a6666f5fd6b5",
  • "prefix": "string",
  • "raw_key": "string"
}

List API keys (metadata only; never returns raw key)

header Parameters
X-Correlation-Id
required
string

Responses

Response samples

Content type
application/json
{
  • "keys": [
    ],
  • "correlation_id": "string",
  • "audit_event_id": "string"
}

Get API key metadata (never returns raw key)

path Parameters
key_id
required
string <uuid>
header Parameters
X-Correlation-Id
required
string

Responses

Response samples

Content type
application/json
{
  • "key": {
    },
  • "correlation_id": "string",
  • "audit_event_id": "string"
}

Rotate API key (idempotent; returns new raw key once)

path Parameters
key_id
required
string <uuid>
header Parameters
X-Correlation-Id
required
string
X-Idempotency-Key
required
string
Request Body schema: application/json
optional
reason
string or null
actor_id
string or null

Responses

Request samples

Content type
application/json
{
  • "reason": "string",
  • "actor_id": "string"
}

Response samples

Content type
application/json
Example
{
  • "outcome": "APPLIED",
  • "reason_code": "string",
  • "correlation_id": "string",
  • "idempotency_key": "string",
  • "audit_event_id": "string",
  • "audit": {
    },
  • "new_key_id": "63d795d1-f857-483b-a75e-d189341121ad",
  • "new_prefix": "string",
  • "raw_key": "string",
  • "rotated_at": "2019-08-24T14:15:22Z"
}

Revoke API key (idempotent)

path Parameters
key_id
required
string <uuid>
header Parameters
X-Correlation-Id
required
string
X-Idempotency-Key
required
string
Request Body schema: application/json
optional
reason
string or null
actor_id
string or null

Responses

Request samples

Content type
application/json
{
  • "reason": "string",
  • "actor_id": "string"
}

Response samples

Content type
application/json
Example
{
  • "outcome": "APPLIED",
  • "reason_code": "string",
  • "correlation_id": "string",
  • "idempotency_key": "string",
  • "audit_event_id": "string",
  • "audit": {
    }
}