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.
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:
$ curl https://api.selltickets.net/v1/tenants \ -H "Authorization: Bearer st_live_9f2…" \ -H "Accept: application/json"
{
"data": [
{
"id": "ten_8Yb31k",
"name": "İstanbul Sahne",
"country": "TR", // one country per tenancy — always a single value
"currency": "TRY"
}
],
"next_cursor": null
}
Delivery is at-least-once. Dedup webhook events on event_uuid; a retry is never a new fact.
Endpoints
| Method | Path | Scope | |
|---|---|---|---|
| GET | /v1/tenants | read_tenants | Coverage-filtered directory |
| GET | /v1/orders/{id} | read_orders | Fetch one order |
| POST | /v1/orders/{id}/documents | write_order_documents | Attach a fiscal document |
| PUT | /v1/feeds/{dataset} | write_feed | Push a data-provider feed |
| DEL | /v1/webhooks/{id} | manage_webhooks | Remove 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
Acme e-Belge
Issues e-Arşiv documents on order.paid.
VenueData Feed
Daily market-event dataset, pulled by SellTickets.
global sandboxCRM Bridge
Receives webhooks, syncs attendees to your CRM.
PL DE draftButtons & 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
https://api.selltickets.net/v1Idempotency-Key honored on writesX-RateLimit-RemainingST-Signature: t=<unix>, v1=<hmac_sha256> · 5-minute replay windowStore buyer PII outside your declared storage, call undeclared hosts, or retry a signed webhook past its replay window. Undeclared egress is grounds for suspension.