# ActivationKing API

> Access to your own ActivationKing data: read events, sessions, results, subscriptions and credits; read and write Ops Calendar companies, event jobs and deals (for example to push jobs won in your CRM).

Base URL: https://api.activationking.com · Auth: `Authorization: Bearer ak_live_...` (keys: https://activationking.com/dashboard/api-keys) · 300 requests/min per key.

## Docs
- [Full reference for LLMs](https://api.activationking.com/llms-full.txt): every endpoint, parameter and response model in one Markdown file
- [OpenAPI 3.1](https://api.activationking.com/openapi/v1.json): machine-readable contract (tool calling, client generators)
- [Interactive reference](https://api.activationking.com/docs)

## MCP server

Connect an AI agent (Claude, ChatGPT, Cursor...) to `https://api.activationking.com/mcp` (Streamable HTTP) with the header `Authorization: Bearer ak_live_...`. Same key, limits and role permissions as the REST API. Write tools are marked as changing data, so clients ask before calling them.

- `get_account`: Your ActivationKing account: totals and the organizations you belong to (organizationId is needed by the ops_* tools).
- `get_credit_balance`: Your AI credit balance.
- `list_events`: Your events (photo booth, games...), newest first. Pass nextCursor back as cursor for the next page.
- `get_event`: One event with its session count and share link.
- `get_event_stats`: Totals for one event: sessions, successful sessions, prints and AI credits spent (from the credit ledger).
- `list_event_sessions`: Sessions (guest visits) of an event in arrival order, with result photo/video links.
- `get_session`: One session with its result media.
- `ops_reference_data`: Values an Ops job needs: phases (for planned times), event and venue types, members (for responsibleUserIds), products and deal statuses.
- `ops_list_companies`: Companies (clients, brands, agencies, suppliers) of an Ops organization.
- `ops_get_company`: One company with contacts and billing details.
- `ops_list_jobs`: Event jobs of an Ops organization, ordered by planned start. Optional from/to (UTC) keep jobs whose planned phases overlap the range.
- `ops_get_job`: One event job.
- `ops_get_deal`: The deal (price lines, status, currency) of a job. Needs the Deal.View permission.
- `ops_save_company` (writes): Create or update a company. With externalSource + externalId (your system's id) the same company is updated on later calls; with companyId the given company is updated; otherwise a new company is created. Only the fields you pass change. Billing fields need Crm.EditBilling.
- `ops_delete_company` (writes): Delete a company. Refused while a job uses it; archive it instead with ops_save_company (isArchived=true).
- `ops_save_job` (writes): Create or update an event job (Jobs.Create / Jobs.Edit). With externalSource + externalId the same job is updated on later calls; with jobId the given job is updated; otherwise a new job is created and a deal is opened for it automatically. Only the fields you pass change. Use ops_reference_data for phase slugs, types, member and product ids.
- `ops_delete_job` (writes): Delete an event job together with its deal, equipment assignments and comments (Jobs.Edit).
- `ops_update_deal` (writes): Change a job's deal: status column, currency, price lines (a lines list replaces all lines), dates, notes. Needs Deal.Edit.

## Account, events and sessions
- `GET /v1/me`: Your account and totals
- `GET /v1/subscriptions`: Your subscriptions, newest first
- `GET /v1/credits`: Your AI credit balance
- `GET /v1/events`: Your events, newest first
- `GET /v1/events/{eventId}`: One event
- `GET /v1/events/{eventId}/sessions`: Sessions (guest visits) of an event, in arrival order
- `GET /v1/events/{eventId}/stats`: Totals for one event
- `GET /v1/events/{eventId}/leads`: Lead form and survey answers of an event
- `GET /v1/sessions/{sessionId}`: One session

## Ops Calendar (needs `X-Organization-Id`)
- `GET /v1/ops/companies`: Companies (clients, brands, agencies, suppliers) of the organization
- `POST /v1/ops/companies`: Create a company (Crm.Edit; billing fields need Crm.EditBilling)
- `GET /v1/ops/companies/{id}`: One company
- `PATCH /v1/ops/companies/{id}`: Change the given fields of a company; omitted fields stay as they are
- `DELETE /v1/ops/companies/{id}`: Delete a company (refused with 409 in_use while a job uses it)
- `PUT /v1/ops/companies/external/{source}/{externalId}`: Create or update a company by your system's id
- `GET /v1/ops/jobs`: Event jobs of the organization, by planned start
- `POST /v1/ops/jobs`: Create an event job (Jobs.Create). A deal is opened for it automatically.
- `GET /v1/ops/jobs/{id}`: One event job
- `PATCH /v1/ops/jobs/{id}`: Change the given fields of a job; omitted fields stay as they are
- `DELETE /v1/ops/jobs/{id}`: Delete a job (Jobs.Edit); its deal, equipment and comments go with it
- `PUT /v1/ops/jobs/external/{source}/{externalId}`: Create or update a job by your system's id
- `GET /v1/ops/jobs/{id}/deal`: The deal (price, status) of a job (Deal.View)
- `PATCH /v1/ops/jobs/{id}/deal`: Change the deal of a job (Deal.Edit)
- `GET /v1/ops/phases`: Phases a job can plan (setup, event, teardown...)
- `GET /v1/ops/event-types`: Known event and venue types
- `GET /v1/ops/members`: Accepted members (user ids for responsibleUserIds)
- `GET /v1/ops/products`: Products a job line can use
- `GET /v1/ops/deal-statuses`: Deal columns (statusId values)

