Production is locked until a market agreement is recorded

Events and tickets

Create events and tiers at scale, issue tickets, and read the check-in manifest the door will actually use.

Commerce6 min

An event is a merchant with a venue, a start and tiers. Tickets are issued against a tier, carry a QR and a 4-digit fallback, and can be transferred to another phone number without being reissued.

Creating an event

POST /v1/events
curl https://api.palopgo.com/v1/events \  -H "Authorization: Bearer $PALOPGO_KEY" \  -H "Idempotency-Key: cmd_evt_marginal" \  -d '{    "market": "ao-lad",    "organizer_id": "m-ao-008",    "name_pt": "Semba na Marginal — Concerto de Fim de Ano",    "starts_at": "2026-12-12T20:00:00+01:00",    "doors_at": "2026-12-12T18:30:00+01:00",    "venue": {      "name": "Anfiteatro da Marginal",      "bairro": "Ingombota",      "landmark": "junto ao Banco Nacional, entrada pela Marginal"    },    "currency": "AOA",    "age_min": 16,    "ticket_tiers": [      { "id": "bancada", "name_pt": "Bancada", "price_minor": 500000, "max_per_order": 6 },      { "id": "plateia", "name_pt": "Plateia", "price_minor": 1000000, "max_per_order": 6 },      { "id": "vip", "name_pt": "VIP com lounge", "price_minor": 2500000, "max_per_order": 4 }    ]  }'

Ticket states

Ticket states
stateMeaning
ISSUEDPaid and valid. The holder has a QR and a 4-digit code.
CHECKED_INScanned at the door. A second scan is refused and logged.
VOIDEDCancelled by the organiser or voided on refund.
TRANSFERREDMoved to another phone number; the old QR stops working immediately.

The check-in manifest

The door is the worst network in the building. Export the manifest before you open: it is a flat list with the code, the tier and the name, small enough to hold on a phone and valid offline for the night.

GET /v1/events/evt-ao-001/manifest
{  "event_id": "evt-ao-001",  "generated_at": "2026-12-12T17:00:00+01:00",  "offline_valid_until": "2026-12-13T04:00:00+01:00",  "tickets": [    { "code": "4721", "tier": "plateia", "name": "Teresa Kiala", "state": "ISSUED" },    { "code": "8830", "tier": "vip", "name": "Celso Macuácua", "state": "CHECKED_IN" }  ]}

Keep going