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.
Request an access token
Exchange your credentials for a bearer token by calling The response includes your token and its expiration:
POST /oauth2/token.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:| Header | Description |
|---|---|
X-Rate-Limit-Limit | Maximum requests allowed in the current window |
X-Rate-Limit-Remaining | Requests remaining in the current window |
X-Rate-Limit-Reset | Seconds until the window resets |
429 Too Many Requests.
Pagination
All list endpoints return paginated results in this envelope:| Parameter | Default | Max | Description |
|---|---|---|---|
page | 1 | — | Page number (1-indexed) |
per-page | 20 | 1000 | Items per page. Capped at 200 when using expand. |
Filtering and sorting
Use thesearch parameter to filter results. Combine multiple conditions with &.
Operators: =, !=, >, <, >=, <=, *contains*, *beginswith*, *endswith*, *in*
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
Usefields to request only the fields you need:
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:| Status | Meaning |
|---|---|
400 | Bad Request — invalid parameters or business rule violation |
401 | Unauthorized — missing or expired bearer token |
403 | Forbidden — valid token but insufficient permissions |
404 | Not Found — resource does not exist or is not accessible |
422 | Unprocessable Entity — validation errors on input fields |
429 | Too Many Requests — rate limit exceeded |
500 | Internal Server Error — unexpected server error |
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).