Skip to documentation

Your first API request

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

Updated October 31, 2026

Create a scoped key

In the Developer console, 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 eligible included or purchased credits at the published model rates.

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 customer key and a published model. Copying an example does not send a request.

curl
curl https://api.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 live model availability.