Skip to main content

Account

Get your account over API

Written by James

Before you get started make sure to create an API key in your CaptionKit dashboard and read up on the API authentication.

The /me endpoints return information about the account your API key belongs to — no account ID needed. They're the easiest way to look up your account ID and profile IDs for use with other endpoints.

Getting your account

GET /v2/me

Returns the account your API key belongs to.

Using curl

curl "https://api.captionkit.com/v2/me?key={API_KEY}"

Using fetch in JS or Node

fetch(`https://api.captionkit.com/v2/me?key=${API_KEY}`)

Response

{
"id": "9c9a80c2-ee91-4590-a83a-cf2a454893c3",
"slug": "my-church",
"name": "My Church",
"image_url": "https://...",
"disclaimer": {
"text": "Captions are generated automatically and may contain errors.",
"t": 1755123456789
}
}

The id field is your account ID — you'll need it for endpoints like Sessions that take an account ID in the URL. disclaimer is the caption disclaimer configured for your account, or null if you haven't set one.

Listing your profiles

GET /v2/me/profiles

Returns all of your account's caption profiles, including each profile's current settings.

Using curl

curl "https://api.captionkit.com/v2/me/profiles?key={API_KEY}"

Using fetch in JS or Node

fetch(`https://api.captionkit.com/v2/me/profiles?key=${API_KEY}`)

Response

[
{
"id": "b1f6d0d7-3d1c-4a4e-9a58-2f0d54cf40a1",
"account_id": "9c9a80c2-ee91-4590-a83a-cf2a454893c3",
"slug": "main-auditorium",
"name": "Main Auditorium",
"image_url": null,
"settings": {
"visible": true,
"pending": false,
"language": "en-US",
"translations": ["es-419"],
"interimResults": true,
"stopSilence": true,
"updated": 1755123456789
},
"created_at": "2026-01-12T09:15:00.000Z",
"updated_at": "2026-08-14T18:31:03.000Z"
}
]

settings reflects the profile's current caption configuration — the source language, active translations and whether captions are currently visible. A profile that hasn't been configured yet may have settings: null.

Checking a profile's stream status

GET /v2/me/profiles/{profileSlug}/status

Returns the live caption stream status for a single profile. You can use either the profile's slug or its ID in the URL. To check status at the account level instead, see Stream status.

Using curl

curl "https://api.captionkit.com/v2/me/profiles/main-auditorium/status?key={API_KEY}"

Using fetch in JS or Node

fetch(`https://api.captionkit.com/v2/me/profiles/${PROFILE_SLUG}/status?key=${API_KEY}`)

Response

{
"live": true,
"status": {
"live": true,
"sessionId": "2355239b-578f-4bca-bfa5-8cd544633967",
"accountId": "9c9a80c2-ee91-4590-a83a-cf2a454893c3",
"startedAt": 1783005063199,
"lastSeen": 1783005063607,
"options": {
"language": "en-US",
"translations": ["es-419"],
"interimResults": true,
"profanityFilter": true
}
}
}

When the profile isn't streaming, live is false and status is null. If the profile slug doesn't exist you'll get a 404.

Did this answer your question?