Developer API Overview
Programmatically create widgets and AI agents in your Embeddable workspace using the Developer API.
The Embeddable Developer API lets you create, list, publish, and delete widgets and AI agents from your own code. It uses standard REST conventions over HTTPS, returns JSON, and authenticates with Bearer API keys.
Base URL
Authentication
Every request must include an Authorization: Bearer <api_key> header. API keys start with emb_live_.
Creating an API key
- Sign in to your Embeddable workspace.
- Open Settings → API Keys for your organization.
- Click New API Key, give it a name, and copy the full key shown — you will not see it again.
- Treat the key like a password. If it leaks, revoke it from the same page.
API keys are scoped to one organization. A key from organization A cannot read or modify resources in organization B.
Token usage
Some endpoints consume API tokens from your organization plan:
| Action | Tokens |
|---|---|
Create widget (POST /v1/widgets) | 1 |
Create agent (POST /v1/agents) | 1 |
Run agent (POST /v1/agents/:id/run) | 1 |
| Read / list / delete / publish | 0 |
Usage is recorded per request and visible in the Usage tab on the API Keys page.
Async builds
Creating a widget or agent kicks off a background AI build. The endpoint returns immediately with a jobId you can poll:
See Jobs for the full polling pattern.
Quickstart
Errors
All errors return JSON in the form { "error": "<code>", "message": "<human readable>" }.
| HTTP | error | When |
|---|---|---|
| 401 | unauthorized | Missing or malformed Authorization header |
| 401 | invalid_key | Key not recognized, revoked, or wrong format |
| 400 | invalid_request | Required fields missing |
| 404 | not_found | Resource not found, or not in your organization |
| 500 | server_error | Something went wrong — see message for details |