Skip to main content
Create an API key in the dashboard and set it as the API_KEY environment variable. Then call the API with any OpenAI client library: point it at https://api.redpill.ai/v1 and send your key as a bearer token.

Make a request

curl https://api.redpill.ai/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen/qwen3-30b-a3b-instruct-2507",
    "messages": [{"role": "user", "content": "Explain attestation in one sentence."}]
  }'
The response is a standard OpenAI chat completion, plus verification headers:
HeaderMeaning
x-receipt-idId of the signed receipt for this response.
x-aci-identityThe attested workload identity that served the request.
x-aci-keyset-digestDigest of the workload’s published keyset.

Confirm it was attested

Read the x-receipt-id header, then fetch the receipt and check how the response was served:
curl -s "https://api.redpill.ai/v1/aci/receipts/$RECEIPT_ID" \
  -H "Authorization: Bearer $API_KEY" \
  | jq '.event_log[] | select(.type=="upstream.verified") | {provider, result, required}'
A confidential response shows result: verified and required: true. To verify the gateway identity and the receipt signature end to end, see Verify a response.

Next steps

Models

Browse the catalog and tell confidential models from standard ones.

Authentication

Manage API keys and keep them out of source.

API Reference

Every endpoint and parameter.

Verify a response

Check attestation and receipts yourself.