Catalyst

The official Eventication API (work in progress)

Use the Catalyst integration to export Eventication data (memberships, jobs, shifts) to an external system.

Setup in Eventication

Go to: Admin → Event → General → Event integrations → + (button) → Catalyst. If you can't find it, ask an Eventication admin to add it for you.

circle-exclamation
circle-info

Note that a Catalyst API key is scoped to an event. Each event needs another Catalyst integration.

API key / authentication

Once validated, you’ll see an API key in the Catalyst integration screen. Keep this key secret (treat it like a password):

  • Do not commit it to git

  • Do not paste it in screenshots / tickets

  • Store it in your secret manager or encrypted environment variables

Authenticate every request with the Authorization Bearer header:

Authorization: Bearer YOUR_CATALYST_API_KEY

Base URL

All endpoints are hosted on the API domain:

  • https://api.eventication.com

Example:

  • https://api.eventication.com/catalyst/memberships

Access control per endpoint

Eventication admins can enable/disable access per endpoint in the Catalyst integration settings. If your API key is valid but an endpoint is not allowed, you will receive:

Pagination

List endpoints are paginated to keep responses fast.

  • Query param: page (1-based)

  • Fixed page size: 100 objects per request

  • The response includes meta:

    • page, per_page, total_pages, total_count, next_page, prev_page

Example:

  • GET https://api.eventication.com/catalyst/memberships?page=2

Rate limiting

Requests are rate-limited:


Endpoints

GET /catalyst/memberships

Returns members (users) for the event.

  • URL: https://api.eventication.com/catalyst/memberships?page=1

  • Fields per item:

    • id

    • firstname

    • lastname

    • email_address

Response shape:

GET /catalyst/work_jobs

Returns jobs for the event, including station and substation details.

  • URL: https://api.eventication.com/catalyst/work_jobs?page=1

  • Fields per item:

    • id

    • start_time (ISO8601)

    • end_time (ISO8601)

    • work_station_id

    • work_substation_id

    • Localized names (dynamic):

      • Job name: name_<locale>

      • Work station name: work_station_name_<locale>

      • Work substation name: work_substation_name_<locale>

Locales are included when the corresponding database columns exist (for example name_en, name_fr, name_nl, …). This makes it forward-compatible when adding more languages later.

Example item:

GET /catalyst/work_shifts

Returns shifts for the event. A shift links a member to a job.

  • URL: https://api.eventication.com/catalyst/work_shifts?page=1

  • Fields per item:

    • id

    • work_job_id

    • membership_id

Example item:


Errors & status codes

401 Unauthorizedarrow-up-right

  • Missing/invalid API key

  • Example: { "error": "Catalyst not found. Request UUID: ..." }

403 Forbiddenarrow-up-right

  • Endpoint access not enabled for this integration

  • Example: { "error": "Access denied" }

429 Too Many Requestsarrow-up-right

  • Rate limit exceeded

  • Example: { "error": "Rate limit exceeded" }


Example clients

cURL

Ruby (Net::HTTP)

JavaScript (fetch)

Python (requests)

circle-info

This API is a work in progress BETA and might change over time.

Last updated

Was this helpful?