NotHolyDocumentation
Open chat

Your first API request

One customer key, the public base URL and an enabled model. No project or run creation required.

Create a scoped key

In Settings, open API keys. Create a key with runs:write and runs:read, then store its one-time secret in a secret manager. Add models:read to list enabled aliases. Never put the key in a URL, browser bundle or repository.

Send a bounded request

Choose a model currently returned by the catalog. The example requests at most 256 output tokens and disables automatic SDK retries. A successful request consumes your separate API wallet.

Read the result

Chat returns choices and authoritative usage. A stream uses native chunks. A failed or uncertain request is not proof that no inference cost occurred; use explicit idempotency when retrying the same operation.

Request example

Use your own customer key. Confirm the model is published and your API wallet is funded. Copying an example never sends a request.

curl
curl https://notholy.com/v1/chat/completions \
  -H "Authorization: Bearer $NOTHOLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "notholy-pulse",
  "messages": [
    {
      "role": "user",
      "content": "Explain least privilege."
    }
  ],
  "max_tokens": 256
}'

HTTP contract fixture. Fixture checks are separate from production availability.