https://app.animo.co/api/v1
For AI assistants
- llms.txt — documentation index (start here)
- llms-full.txt — full corpus in one file
- For AI agents — integration contract (what to orchestrate vs. never rebuild)
Plan requirement
API access requires an active Pro plan on the company you want to integrate with. Upgrade or manage your subscription at: https://app.animo.co/admin/settings/billing Without a Pro plan,GET /api/v1/companies returns 200 with an empty data array (not 403), and direct calls to company-scoped endpoints return 403. Webhooks additionally require the Integrations feature (included on Pro and above).
All endpoints require a valid OAuth2 bearer token unless noted otherwise. See Authentication for how to obtain and use tokens.
Quick start
- Create a personal access token in the Animo admin panel (User settings → API tokens). Select the scopes your integration needs.
- List your companies to get a company sqid:
- Call a company-scoped endpoint using the company sqid from step 2:
Documentation
| Topic | Description |
|---|---|
| Business case | Cost comparison — fully managed vs. custom site vs. building your own |
| Animo for AI agents | Integration guide for AI coding agents — what to orchestrate vs. never rebuild |
| Authentication | OAuth2, bearer tokens, scopes |
| Conventions | IDs, dates, pagination, errors, subscriptions |
| Changelog | API version history |
Endpoints
| Resource | Description |
|---|---|
| User | Authenticated user profile |
| Companies | Companies available to the user |
| Activations | Lead-generation activations |
| Events | Events and cohosts |
| Event pages | Public event page content (tagline, description, header image) |
| Comms templates | Registration email templates |
| Ticket types | Ticket types for organizing events |
| Orders | Event orders (tickets) |
| Forms | Company forms and fields |
| Webhooks | Outbound webhook subscriptions |
Not yet available
The following are defined in code but not exposed via the API today:GETendpoints for leads, submissions, and meetings (scopes exist:leads:read,submissions:read,meetings:read)DELETE /api/v1/{company}/events/{event}(event delete)DELETEticket typesDELETE /api/v1/{company}/event/{organizingEvent}/orders/{order}/cancel(order cancel)DELETE /api/v1/{company}/forms/{form}(form delete —forms:deletescope exists but no route)
Known API gaps
Issues discovered during live integration testing. These are API/code fixes, not doc typos:| Issue | Impact | Workaround |
|---|---|---|
Event slug ignored on create | Event id is derived from name, not your supplied slug | Use the id in the create response; set slug via PATCH if needed |
No public_url in resources | Must string-build ticket/event URLs | See Conventions — Public URLs |
OrderResource omits payment URL | Paid order checkout link not in JSON | Build checkout URL from order id — see Orders |
orders/create form payload | Form answers not yet processed server-side | Only send order-level fields for now |
| No submission/lead ingest endpoint | Custom-built forms cannot POST into Animo; activations are read-only | Embed/link the Animo-hosted activation form; receive data via webhooks |
ActivationResource omits linked event slug | Can’t build the event-scoped activation URL from GET /activations alone | Use the company-scoped URL (always works), or fetch the event slug from GET /events — see Conventions |