API Reference

Overview

Publish and read Traces data with a namespace-scoped API key.

The Traces API lets services, agents, and CI jobs publish traces, synchronize messages, and read data from the namespace bound to an API key. This reference intentionally covers the reviewed external contract rather than every API used by the Traces web application.

Base URL

https://actions.traces.com

All JSON requests and responses use UTF-8. Successful JSON responses use an { "ok": true, "data": ... } envelope. Errors use { "ok": false, "error": { "code": "...", "message": "..." } }.

Authentication

Namespace admins can create and manage API keys from the organization's API settings. Regular members cannot list, create, update, or revoke keys. Send the key as a bearer token:

curl -X PUT https://actions.traces.com/v1/traces/ci-run-2026-08-13-001 \
  -H "Authorization: Bearer $TRACES_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{"agentId":"codex","title":"Repair flaky retry tests"}'

API keys begin with trk_, belong to one namespace, and only access data in that namespace. Store keys in a secret manager or environment variable and never expose them in browser code or source control.

Scopes

ScopeAccess
traces:readList traces and read trace metadata and messages.
traces:writeCreate or synchronize trace metadata and messages.
namespace:readRead the API key's namespace metadata and members.

Endpoint groups

IDs and timestamps

Write routes use stable trace and message IDs supplied by your integration. Reusing an ID updates the same resource, which makes uploads safe to retry. Trace read routes also accept a Traces internal ID. Timestamps are Unix time in milliseconds unless a field says otherwise.

Errors

StatusMeaning
400The request or parameter values are invalid.
401The API key is missing, invalid, expired, or revoked.
403The key lacks a required scope or cannot access the requested namespace.
404The target trace does not exist or is outside the key's namespace.
429The caller exceeded a rate limit.
500The server could not complete the request.
503Trace and message writes are temporarily paused for maintenance.

Write requests are limited to 600 requests per minute per user. Individual read endpoints may apply separate limits.

On this page