Skip to content

Reference

API reference

Read your events, ticket types, orders and attendees; register attendees from your own systems; check people in with your own scanner. Authenticate with an organisation API key created under Settings → API keys. Scopes limit what a key may do; rate limits depend on your plan.

Base URL https://eventos.rewardland.sg/api/v1 · Version 2026-10-01 · OpenAPI JSON

Endpoints

get/meKeys

Describe the key

200 OK401 Unauthorized
get/eventsEvents

List events

  • statusquerystring
  • pagequeryinteger
  • limitqueryinteger
200 OK401 Unauthorized403 Missing scope events:read
get/events/{eventId}Events

Get an event

  • eventIdpathrequiredstring (uuid)
200 OK404 Not found
get/events/{eventId}/ticket-typesEvents

List ticket types

  • eventIdpathrequiredstring
200 OK
get/events/{eventId}/ordersOrders

List orders

  • eventIdpathrequiredstring
  • statusquerystring
  • updated_sincequerystring (date-time)
  • pagequeryinteger
  • limitqueryinteger
200 OK
get/orders/{orderId}Orders

Get an order with its attendees

  • orderIdpathrequiredstring
200 OK404 Not found
get/events/{eventId}/attendeesAttendees

List attendees

  • eventIdpathrequiredstring
  • statusquerystring
  • checked_inquerytrue | false
  • qquerystring
  • updated_sincequerystring (date-time)
  • pagequeryinteger
  • limitqueryinteger
200 OK
get/attendees/{attendeeId}Attendees

Get an attendee

  • attendeeIdpathrequiredstring
200 OK404 Not found
post/events/{eventId}/registrationsAttendees

Register an attendee (complimentary ticket)

Creates a free order with named tickets and emails the QR ticket. Send an Idempotency-Key header to make retries safe.

  • eventIdpathrequiredstring
  • Idempotency-Keyheaderstring
Request bodyjson
{
  "ticket_type_id": "00000000-0000-4000-8000-000000000000",
  "name": "string",
  "email": "mei@example.com",
  "company": "string",
  "job_title": "string",
  "quantity": 1,
  "note": "string",
  "send_email": true
}
201 OK400 Validation failed409 Not enough tickets remain, or idempotency conflict
post/check-insCheck-in

Check an attendee in

Verifies a ticket code or attendee id and records the entry atomically. Returns 200 when admitted (first entry or allowed re-entry) and 409 with the reason otherwise.

Request bodyjson
{
  "event_id": "00000000-0000-4000-8000-000000000000",
  "code": "string",
  "attendee_id": "00000000-0000-4000-8000-000000000000",
  "gate_id": "00000000-0000-4000-8000-000000000000"
}
200 OK409 OK

Objects

Event
{
  "id": "00000000-0000-4000-8000-000000000000",
  "object": "event",
  "name": "string",
  "slug": "string",
  "status": "draft",
  "visibility": "public",
  "summary": "string",
  "starts_at": "2026-10-14T03:00:00.000Z",
  "ends_at": "2026-10-14T03:00:00.000Z",
  "timezone": "string",
  "venue": {
    "name": "string",
    "address": "string"
  },
  "currency": "string",
  "preset": "string",
  "url": "https://…",
  "cover_url": "string",
  "created_at": "2026-10-14T03:00:00.000Z",
  "updated_at": "2026-10-14T03:00:00.000Z"
}
TicketType
{
  "id": "00000000-0000-4000-8000-000000000000",
  "object": "ticket_type",
  "event_id": "string",
  "name": "string",
  "description": "string",
  "price_minor": 0,
  "currency": "string",
  "status": "draft",
  "hidden": true,
  "quantity_total": 0,
  "quantity_sold": 0,
  "remaining": 0,
  "sales_start": "string",
  "sales_end": "string",
  "max_per_order": 0
}
Order
{
  "id": "00000000-0000-4000-8000-000000000000",
  "object": "order",
  "reference": "string",
  "event_id": "string",
  "status": "pending",
  "purchaser": {
    "name": "string",
    "email": "string"
  },
  "subtotal_minor": 0,
  "discount_minor": 0,
  "total_minor": 0,
  "refunded_minor": 0,
  "currency": "string",
  "provider": "string",
  "promo_code": "string",
  "tracking_link": "string",
  "items": [
    {
      "ticket_type_id": "string",
      "name": "string",
      "quantity": 0,
      "unit_price_minor": 0
    }
  ],
  "paid_at": "string",
  "cancelled_at": "string",
  "created_at": "string",
  "updated_at": "string"
}
Attendee
{
  "id": "00000000-0000-4000-8000-000000000000",
  "object": "attendee",
  "event_id": "string",
  "order_id": "string",
  "ticket_type": {
    "id": "string",
    "name": "string"
  },
  "credential_kind": "attendee",
  "status": "unassigned",
  "name": "string",
  "email": "string",
  "phone": "string",
  "company": "string",
  "job_title": "string",
  "answers": {},
  "checked_in": true,
  "checked_in_at": "string",
  "entry_count": 0,
  "created_at": "string",
  "updated_at": "string"
}
CheckIn
{
  "object": "check_in",
  "result": "admitted",
  "admitted": true,
  "first_entry": true,
  "attendee": {},
  "checked_in_at": "string",
  "previous_entry_at": "string",
  "entry_count": 0
}

Webhooks

Signature: EventOS-Signature: t=<unix seconds>,v1=<hex HMAC-SHA256 of `${t}.${body}` with the endpoint secret>

Events: order.completedorder.cancelledorder.refundedattendee.createdattendee.checked_inexhibitor.approvedevent.publishedping

API reference · Developers · EventOS