Endpoints

Ingestion tokens

GET/api/v1/organizations/{org_id}/ingestion-tokens

List active (non-revoked) ingestion tokens for the organization.

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

org_id*Org Id
Formatuuid

Response Body

application/json

application/json

curl -X GET "https://example.com/api/v1/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/ingestion-tokens"
[  {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",    "name": "string",    "token_prefix": "string",    "allowed_signals": [      "string"    ],    "service_name": "string",    "revoked_at": "2019-08-24T14:15:22Z",    "last_used_at": "2019-08-24T14:15:22Z",    "expires_at": "2019-08-24T14:15:22Z",    "created_at": "2019-08-24T14:15:22Z"  }]
POST/api/v1/organizations/{org_id}/ingestion-tokens

Create a new ingestion token.

The full token is returned once in the response — store it immediately. It cannot be retrieved again.

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

org_id*Org Id
Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Request body to create an ingestion token.

Response Body

application/json

application/json

curl -X POST "https://example.com/api/v1/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/ingestion-tokens" \  -H "Content-Type: application/json" \  -d '{    "name": "string"  }'
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",  "name": "string",  "token_prefix": "string",  "allowed_signals": [    "string"  ],  "service_name": "string",  "revoked_at": "2019-08-24T14:15:22Z",  "last_used_at": "2019-08-24T14:15:22Z",  "expires_at": "2019-08-24T14:15:22Z",  "created_at": "2019-08-24T14:15:22Z",  "token": "string"}
DELETE/api/v1/organizations/{org_id}/ingestion-tokens/{token_id}

Revoke (soft-delete) an ingestion token.

Also broadcasts the revocation on the ingestion_tokens:revoked Redis Stream so OTel Collector nodes evict it from cache immediately (TELEMETRY_INGESTION_ARCHITECTURE.md §5.3) instead of waiting up to 60s.

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

org_id*Org Id
Formatuuid
token_id*Token Id
Formatuuid

Response Body

application/json

curl -X DELETE "https://example.com/api/v1/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/ingestion-tokens/497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty