Search docs… /

Build on SellTickets

Register an app, declare its coverage, receive signed webhooks, and call the scoped API. Your code runs on your servers — we never host it.

Note

Apps see only the tenants inside their declared coverage. A fiscal app covering TR is offered to Türkiye tenants and no one else — each tenant sells in exactly one country.

Authentication

Every request carries an install-issued token bound to one app and one tenant installation. Tokens are shown once at install and can be rotated with two active at a time. Send it as a bearer header:

terminal
$ curl https://api.selltickets.net/v1/tenants \
    -H "Authorization: Bearer st_live_9f2…" \
    -H "Accept: application/json"
response · 200
{
  "data": [
    {
      "id": "ten_8Yb31k",
      "name": "İstanbul Sahne",
      "country": "TR",          // one country per tenancy — always a single value
      "currency": "TRY"
    }
  ],
  "next_cursor": null
}
Heads up

Delivery is at-least-once. Dedup webhook events on event_uuid; a retry is never a new fact.

Endpoints

MethodPathScope
GET/v1/tenantsread_tenantsCoverage-filtered directory
GET/v1/orders/{id}read_ordersFetch one order
POST/v1/orders/{id}/documentswrite_order_documentsAttach a fiscal document
PUT/v1/feeds/{dataset}write_feedPush a data-provider feed
DEL/v1/webhooks/{id}manage_webhooksRemove a subscription

App lifecycle

Partners and their apps move through a one-way lifecycle. From suspended onward the kill switch is engaged: ingress answers 410, deliveries stop.

draft  sandbox  active  suspended  terminated

Your apps

connector · fiscal

Acme e-Belge

Issues e-Arşiv documents on order.paid.

TR active
data_provider

VenueData Feed

Daily market-event dataset, pulled by SellTickets.

global sandbox
integrator

CRM Bridge

Receives webhooks, syncs attendees to your CRM.

PL DE draft

Buttons & actions

Forms

Shown to tenants in the marketplace listing.

HTTPS only. Host must appear in your manifest's egress list.

You will only see tenants inside your coverage.

Request details

Base URL
https://api.selltickets.net/v1
Auth
Bearer token, install-issued
Idempotency
Idempotency-Key honored on writes
Rate limit
Per app × tenant; watch X-RateLimit-Remaining
Signature
ST-Signature: t=<unix>, v1=<hmac_sha256> · 5-minute replay window
Never

Store buyer PII outside your declared storage, call undeclared hosts, or retry a signed webhook past its replay window. Undeclared egress is grounds for suspension.