API quickstart
The API path is for clients that already own capture and can produce the versioned Trace Commons envelope. Do not send raw chat logs directly to ingest.
Request sequence
Section titled “Request sequence”- Enroll a device with an invite or another issuer flow provided by the deployment.
- Build and locally redact an
ironclaw.trace_contribution.v1envelope. - Ask the issuer for a short-lived upload claim bound to the contributor and requested scopes.
- Submit the envelope with that claim.
- Persist the returned
submission_idand outcome.
Submit an envelope
Section titled “Submit an envelope”curl --fail-with-body \ --request POST \ --url https://ingest.tracecommons.ai/v1/traces \ --header "authorization: Bearer $TRACE_COMMONS_UPLOAD_CLAIM" \ --header "content-type: application/json" \ --data-binary @envelope.jsonThe submission_id is supplied in the envelope and remains the stable identifier for retries, status, and withdrawal. The response receipt describes the server outcome:
{ "status": "accepted", "credit_points_pending": 5.2, "explanation": ["Accepted into the private redacted corpus."]}credit_points_final may be included after settlement. Never log the bearer, raw source trace, or unrestricted server error bodies.
Continue with What happens after submission for automated privacy holds, quarantine remediation, credits, downstream eligibility, public snapshots, and withdrawal.
Client requirements
Section titled “Client requirements”- HTTPS, except an explicit loopback development endpoint.
- No credential-bearing redirects.
- Bounded connect, request, and response-body limits.
- Retry only operations that are safe under the stable submission identity.
- Local fail-closed redaction before the first network call.
- Durable storage for receipts, but not raw credentials.