API Reference

TicketNests API

A JSON REST API for events, paid voting, and registration forms. All endpoints are scoped to resources owned by the account behind the API key.

Base URLhttps://ticketnests.com/api/v1

Authentication

Send your secret key as a Bearer token. Publishable keys are only for the browser SDK and hosted mobile flows.

cURL
curl https://ticketnests.com/api/v1/events \
  -H "Authorization: Bearer tn_test_sk_your_secret_key"
Never put a secret key in browser or mobile-app source code. Make API requests from your backend.

Events

Read your event catalogue and public ticket inventory.

GET/api/v1/events

List events

Returns events owned by the integration, including their public ticket types.

GET/api/v1/events/:id-or-slug

Retrieve an event

Returns one owned event and its public ticket types.

Voting

Build voting directories and initialize server-priced vote orders.

GET/api/v1/voting/events/:id-or-slug

Retrieve voting data

Returns event details, categories, and contestants.

GET/api/v1/voting/events/:id-or-slug/results

Retrieve results

Returns total votes and contestants grouped by category.

POST/api/v1/voting/events/:id-or-slug/checkout

Initialize vote checkout

Validates vote lines, calculates the amount on the server, and returns a hosted payment URL in live mode.

Initialize vote checkout
curl -X POST https://ticketnests.com/api/v1/voting/events/awards-2026/checkout \
  -H "Authorization: Bearer tn_test_sk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "email": "voter@example.com",
    "gateway": "paystack",
    "votes": [{ "contestantId": "...", "votes": 5 }]
  }'

Forms

Read form schemas, submit validated responses, and retrieve submissions.

GET/api/v1/forms

List forms

Returns forms owned by the integration.

GET/api/v1/forms/:id-or-slug

Retrieve a form

Returns the form schema, fields, settings, and publication status.

GET/api/v1/forms/:id-or-slug/responses

List responses

Returns paginated responses. Use page and limit query parameters.

POST/api/v1/forms/:id-or-slug/responses

Submit a response

Validates required fields and one-entry-per-email settings before storing a live response.

Submit a form response
curl -X POST https://ticketnests.com/api/v1/forms/speaker-application/responses \
  -H "Authorization: Bearer tn_test_sk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "data": {
      "full-name": "Ada Okafor",
      "email": "ada@example.com"
    }
  }'

Errors

Non-2xx responses contain a stable machine-readable code and a human-readable message.

{
  "error": {
    "code": "invalid_api_key",
    "message": "Provide a valid secret API key in the Authorization header"
  }
}