Skip to main content
The Animo REST API lets external applications read and manage events, forms, orders, activations, and webhooks on behalf of Animo users. Base URL: https://app.animo.co/api/v1

For AI assistants

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

  1. Create a personal access token in the Animo admin panel (User settings → API tokens). Select the scopes your integration needs.
  2. List your companies to get a company sqid:
    GET /api/v1/companies
    Authorization: Bearer {token}
    
  3. Call a company-scoped endpoint using the company sqid from step 2:
    GET /api/v1/{company}/events
    Authorization: Bearer {token}
    

Documentation

TopicDescription
Business caseCost comparison — fully managed vs. custom site vs. building your own
Animo for AI agentsIntegration guide for AI coding agents — what to orchestrate vs. never rebuild
AuthenticationOAuth2, bearer tokens, scopes
ConventionsIDs, dates, pagination, errors, subscriptions
ChangelogAPI version history

Endpoints

ResourceDescription
UserAuthenticated user profile
CompaniesCompanies available to the user
ActivationsLead-generation activations
EventsEvents and cohosts
Event pagesPublic event page content (tagline, description, header image)
Comms templatesRegistration email templates
Ticket typesTicket types for organizing events
OrdersEvent orders (tickets)
FormsCompany forms and fields
WebhooksOutbound webhook subscriptions

Not yet available

The following are defined in code but not exposed via the API today:
  • GET endpoints for leads, submissions, and meetings (scopes exist: leads:read, submissions:read, meetings:read)
  • DELETE /api/v1/{company}/events/{event} (event delete)
  • DELETE ticket types
  • DELETE /api/v1/{company}/event/{organizingEvent}/orders/{order}/cancel (order cancel)
  • DELETE /api/v1/{company}/forms/{form} (form delete — forms:delete scope exists but no route)

Known API gaps

Issues discovered during live integration testing. These are API/code fixes, not doc typos:
IssueImpactWorkaround
Event slug ignored on createEvent id is derived from name, not your supplied slugUse the id in the create response; set slug via PATCH if needed
No public_url in resourcesMust string-build ticket/event URLsSee Conventions — Public URLs
OrderResource omits payment URLPaid order checkout link not in JSONBuild checkout URL from order id — see Orders
orders/create form payloadForm answers not yet processed server-sideOnly send order-level fields for now
No submission/lead ingest endpointCustom-built forms cannot POST into Animo; activations are read-onlyEmbed/link the Animo-hosted activation form; receive data via webhooks
ActivationResource omits linked event slugCan’t build the event-scoped activation URL from GET /activations aloneUse the company-scoped URL (always works), or fetch the event slug from GET /events — see Conventions