Guides
Getting Started
Everything you need to make your first authenticated request to the Threll API: an API key, your account ID, and a few minutes.
Prerequisites
- A Threll account with at least one worker (Threll) configured.
- An API key, created in the platform under Settings → Developer.
- Your account ID (shown alongside your API key). It looks like
9c3e8f02-7a14-4b62-bc59-1d8e5fa3027band appears in every API path.
Authentication
Every request is authenticated with an API key passed in the x-api-key header. There are no other authentication schemes — no OAuth flows, no session tokens.
Authenticated request
# Store the key in an environment variable, never in source code
export THRELL_API_KEY="your-api-key"
curl https://api.threll.io/v1/accounts/9c3e8f02-7a14-4b62-bc59-1d8e5fa3027b \
-H "x-api-key: $THRELL_API_KEY"const BASE = 'https://api.threll.io';
async function threll(path, options = {}) {
const res = await fetch(BASE + path, {
...options,
headers: {
'x-api-key': process.env.THRELL_API_KEY,
'Content-Type': 'application/json',
...options.headers,
},
});
if (!res.ok) throw new Error(`Threll API error ${res.status}`);
return res.json();
}
const account = await threll('/v1/accounts/9c3e8f02-7a14-4b62-bc59-1d8e5fa3027b');import os, requests
BASE = "https://api.threll.io"
session = requests.Session()
session.headers["x-api-key"] = os.environ["THRELL_API_KEY"]
account = session.get(f"{BASE}/v1/accounts/9c3e8f02-7a14-4b62-bc59-1d8e5fa3027b").json()API keys grant full access to your account. Keep them server-side — never embed them in mobile apps, browser code, or version control.
Your first request
Fetch your account to confirm the key works:
GET /v1/accounts/{accountId} — response
{
"id": "9c3e8f02-7a14-4b62-bc59-1d8e5fa3027b",
"name": "Acme Corp",
"slug": "acme-corp",
"createdAt": "2025-11-02T09:12:44Z",
"updatedAt": "2026-05-28T16:40:01Z"
}Then list the workers available on your account. Each worker is a voice agent that can place or receive calls:
List workers
curl https://api.threll.io/v1/accounts/9c3e8f02-7a14-4b62-bc59-1d8e5fa3027b/workers \
-H "x-api-key: $THRELL_API_KEY"const workers = await threll('/v1/accounts/9c3e8f02-7a14-4b62-bc59-1d8e5fa3027b/workers');
console.log(workers.map(w => w.name));
// → [ 'Harald', 'Snorre' ]workers = session.get(f"{BASE}/v1/accounts/9c3e8f02-7a14-4b62-bc59-1d8e5fa3027b/workers").json()
for w in workers:
print(w["name"])
# Harald
# SnorreCore concepts
Account
Your organization on Threll. All resources are scoped under
/v1/accounts/{accountId}.Workera.k.a. Threll
A configured voice agent with a name, language, and optional inbound/outbound phone numbers.
Phone call
A single inbound or outbound call handled by a worker. Moves through
scheduled → queued → in_progress → completed, then post-processing generates the transcript, dimensions, and next action.Webhook subscription
An HTTPS endpoint registered to receive call events, account-wide or scoped to a single worker. Each subscription has a signing secret used to verify deliveries.