Get started
The core loop
Everything a human does in the web app, an agent can do over the API with one organization key: get a key, list models, call them, and read usage.
1. Get a key
Keys are minted in the web app at Settings, API keys and shown once. Creating and revoking keys is a web-session action: POST /api/keys is not callable with an API key. One key then drives every step below. Export it: export EXPLABS_API_KEY=xpl_...
2. List models
GET /v1/modelsreturns the slugs your key can call: the public catalog plus your org's own custom and local models.
curl "https://api-pr-683.preview.experientiallabs.ai/v1/models" \-H "Authorization: Bearer $EXPLABS_API_KEY"
3. Call a model
Call any slug from that list exactly as you would call OpenAI. This is the same request shape as the Quickstart.
curl "https://api-pr-683.preview.experientiallabs.ai/v1/chat/completions" \-H "Authorization: Bearer $EXPLABS_API_KEY" \-H "Content-Type: application/json" \-d '{"model": "claude-opus-5", "messages": [{"role": "user", "content": "Hello"}]}'
4. Read your usage
Read your own spend and token usage with the same key. GET /api/gateway/usage/daily takes an org_id and returns a grouped rollup. An API key reads at scope=org; scope=self needs an end-user session.
curl "https://api-pr-683.preview.experientiallabs.ai/api/gateway/usage/daily?org_id=$ORG_ID&scope=org&group_by=day" \-H "Authorization: Bearer $EXPLABS_API_KEY"
To see how your org resolves each alias, and which lane it rides, read GET /api/gateway/catalog?org_id=<ORG_ID>.
From the terminal
Self-hosted
Self-hosters run the open-source Experiential gateway from the terminal with exp run. The hosted platform manages the catalog, keys, and usage for you in the web app, so on the hosted gateway the loop above is the whole story.
See also
The API reference lists every endpoint, and /llms.txt carries this loop in one machine-readable file.