8. Fetch one ticket

GET/api/v1/public/tickets/1201?owner_ref=YOUR_PARTNER_CODE-user-42
Explanation

In plain words: “show this ticket again.” Only the owner (owner_ref) can see it. Display qr_code + place{} (tribune.couleur) — no QR image.

Payload / request

Path: ticket id (from purchase). Query: owner_ref (required).

(no body)
Response

Ticket + qr_code + place{} (tribune.couleur). No QR image.

{
  "success": true,
  "message": "Public ticket",
  "data": {
    "id": "1201",
    "ticket_number": "TK-2026-ABC123-GN",
    "status": "SOLD",
    "event": {
      "id": "8",
      "title": "Horoya AC — Hafia FC",
      "starts_at": "2026-12-14T16:00:00",
      "venue": { "name": "Stade du 28 Septembre", "city": "Conakry", "country": "Guinée" }
    },
    "section": { "id": "49", "name": "Tribune Ouest — To-03", "code": "To-03" },
    "seat": { "id": "75980", "row": "W", "number": "16", "code": "W16" },
    "zone": { "id": "39", "name": "Tribune Ouest" },
    "qr_code": "A0CEDE99190E02EE06B2D744DE333E26",
    "place": {
      "place_id": 75980,
      "place": "W16",
      "numero_place": 16,
      "rangee": "W",
      "secteur": "To-03",
      "porte": { "code": "T01", "nom": "Tribune Ouest 1", "libelle": "Ouest 1" },
      "tribune": { "code": "TRIB-OUEST", "nom": "Tribune Ouest", "couleur": "#8B4513" },
      "route": ["Tribune Ouest 1", "To-03", "W", "W16"],
      "route_texte": "Tribune Ouest 1 → To-03 → W → W16",
      "code_litige": "STD-8-S75980"
    }
  }
}
Code example
const res = await fetch("https://book.stadepassgn.com/api/v1/public/tickets/1201?owner_ref=YOUR_PARTNER_CODE-user-42", {
  method: "GET",
  headers: {
    "x-partner-code": process.env.PARTNER_CODE || "YOUR_PARTNER_CODE",
  },
});
const json = await res.json();

Try this API (demo)

Local playground — sample GNF response. No real network call.

Demo only. In production, sign every request (see Auth on the home page).