Skip to main content
Skip to content

Connect with the API

Can I connect Coassemble to my own systems with code?

What the Coassemble API and webhooks let you build, how to drive the agent from your own code, and where the endpoints are documented.

Yes. Coassemble has an API and webhooks so you can build your own integrations: create and manage courses, identify learners, read results, and have your systems notified automatically when courses are started or completed.

When there's no off-the-shelf integration for what you need, you can build your own. Coassemble's API lets your systems talk to Coassemble directly, and webhooks let Coassemble notify your systems when things happen, so you can connect it to almost any tool that can call an API or receive a request.

What you can do with the API

You authenticate with a workspace API key, kept on your server and never exposed in the browser, then call the endpoints you need. Create keys in the Developer console: select Developer in the navigation, then API keys. Each key is either Production, for your live integration, or Test, for building and testing: a Test key never bills, only sees test learners, and keeps their completions out of reports and exports. The API covers courses, AI course generation, collections, screens, learner identities, tracking and results, themes, translations and usage. With it you can, for example, generate a course from your own content, identify a learner from your own system, or pull completion and quiz data into your own dashboards.

Driving the agent, not just the endpoints

Beyond the individual endpoints, the Coassemble agent exposes the course lifecycle as tools your code can call over MCP or REST. Your backend mints an agent token from your API key, carrying an identifier for the person it is acting for, and can pin that token to a single course with courseId, restrict it to an allowlist with tools, or make it read-only with readonly.

This is the route to take when you want your product to build and change courses conversationally rather than assembling them endpoint by endpoint.

Getting notified with webhooks

Rather than repeatedly asking the API whether something has changed, you can have Coassemble tell you. Webhooks send a server-to-server message to a URL you control when a course is created, started or completed. You set them up in the Developer console: select Developer in the navigation, then the Webhooks tab, where you can add endpoints, choose whether each receives live data, test mode data or both, see each delivery and replay any that failed. Every message includes a testMode flag so you can tell test events apart.

Each endpoint gets its own signing secret when you create it, so you can verify a message really came from Coassemble. Failed deliveries are retried up to six attempts in total, with roughly a minute, then five minutes, thirty minutes, two hours and six hours between them. A delivery counts as successful on any 2xx response, and each request times out after ten seconds.

What you'd build with it

Common uses include syncing completions and quiz scores into a CRM, data warehouse or HR system, issuing certificates when someone finishes, generating courses automatically from content you hold elsewhere, and triggering your own workflows off learner activity. Because it's an open API and standard webhooks, the destination is up to you.

Frequently asked questions

What do I need to use the API?

A workspace API key. The key stays on your server and is used to authenticate every request, including minting agent tokens. Create it in the Developer console, under Developer, then API keys.

Do I have to poll for changes?

No. Webhooks push a message to your endpoint when a course is created, started or completed, so you don't have to keep checking. They're signed and retried for reliability.

What happens if my endpoint is down when a webhook fires?

Coassemble retries the delivery up to five more times, spaced roughly a minute, five minutes, thirty minutes, two hours and six hours apart. If it still hasn't succeeded after that, the delivery stops being retried, so your endpoint should acknowledge quickly and do its work afterwards rather than holding the connection open.

What can I connect Coassemble to?

Anything that can call an API or receive a webhook, for example a CRM, data warehouse, HR system or internal app. There's no fixed list.

Where are the endpoints documented?

Every endpoint, parameter and event is at developers.coassemble.com, with the MCP specifics at developers.coassemble.com/embed-mcp.