Skip to main content
The Swoogo API provides programmatic access to manage events, registrants, sessions, speakers, sponsors, and related resources on the Swoogo event management platform. Base URL: https://api.swoogo.com/api/v1

Getting started

Get your API credentials

Log in to Swoogo and navigate to My Profile > API Credentials to find your consumer key and secret. Swoogo also provides a pre-encoded Base64 credential string you can use directly.
Your API Credentials page provides a ready-to-use Base64-encoded string — copy it directly to skip the manual encoding step.

Request an access token

Exchange your credentials for a bearer token by calling POST /oauth2/token.
The response includes your token and its expiration:
Tokens expire after 30 minutes. Request a new token when you receive a 401 response.

Make your first API call

Include your token in the Authorization header on all subsequent requests.

Rate limiting

API requests are rate-limited to 2,000 requests per 10-minute window per API credential. List endpoints cost 10 credits per call; all other endpoints cost 1 credit. Rate limit status is returned in response headers: When the limit is exceeded, the API returns 429 Too Many Requests.

Pagination

All list endpoints return paginated results in this envelope:

Filtering and sorting

Use the search parameter to filter results. Combine multiple conditions with &. Operators: =, !=, >, <, >=, <=, *contains*, *beginswith*, *endswith*, *in*
Set searchCondition=or to match any condition instead of all. Use sort to order results. Prefix with - for descending: sort=-created_at.

Field selection and expansion

Use fields to request only the fields you need:
Use expand to include related objects in the response:
Using expand caps the page size at 200 items per page.

Errors

All errors return a consistent JSON response:

Webhooks

Swoogo can send HTTP callbacks when resources are created, updated, or deleted. Configure webhooks via the API or the Swoogo UI. Supported trigger objects: event, contact, registrant, speaker, sponsor, session, session_attendance, registrant_line_item. Webhook payloads can be sent as json (application/json) or post (form-encoded).