Developers
REST API
Run BluePenguin from your code. Manage assistants, start calls and read transcripts and results.
#Base URL
Base URL
https://app.bluepenguin.io/api/v1#Authentication
Create a private key under Settings → API keys and send it as a bearer token. A private key has full access to one business, so keep it on your server and out of browsers and apps. You can revoke a key at any time.
curl https://app.bluepenguin.io/api/v1/assistants \
-H "Authorization: Bearer $BLUEPENGUIN_KEY"const r = await fetch('https://app.bluepenguin.io/api/v1/assistants', {
headers: { authorization: `Bearer ${process.env.BLUEPENGUIN_KEY}` },
})
const assistants = await r.json()import os, requests
r = requests.get("https://app.bluepenguin.io/api/v1/assistants",
headers={"Authorization": f"Bearer {os.environ['BLUEPENGUIN_KEY']}"})
assistants = r.json()#Pagination
GET /calls takes limit (1 to 200, default 50) and offset, and returns total with the page of items. Other lists return everything at once.
#Errors
Errors return JSON with a detail field, such as {"detail": "not_found"}.
| Status | Meaning |
|---|---|
401 | The key is missing, wrong or revoked. |
402 | Your plan doesn't include this, or its minutes are used up. |
404 | Not found, or it belongs to another business. |
409 | Not allowed in the current state, such as deleting your default assistant. |
422 | The request is invalid. The reply lists the fields. |
429 | More than 240 requests a minute on this key. |
#OpenAPI
The spec is at /api/v1/openapi.json. Import it into Postman or Insomnia, or generate a client from it. The API reference lists every endpoint with examples. REST API access is included in Pro.