{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"96af64c2-e692-4c6f-83c5-27e24407de53","name":"ticketing","description":"## Overview\n\nThe Ticketing API powers a comprehensive event ticketing platform built in Go. It supports user authentication, event and ticket management, order handling, payments, and organizer-focused analytics.\n\nUse this collection as the source of truth for how the platform behaves. Each folder groups related endpoints (authentication, events, orders, inventory, payments, organizer tools, etc.), and every request includes a human-readable description of its purpose and typical usage patterns.\n\n## Base URL\n\nAll endpoints are relative to:\n\n``` text\nhttps://ticketingsystem-production-4a1d.up.railway.app/\n\n ```\n\nThe `{{base_url}}` variable is defined in your active environment (for example, `ticketing-dev`). Switch environments in Postman to target different deployments (dev, staging, production).\n\n## Authentication\n\nMost protected endpoints require a Bearer token:\n\n``` http\nAuthorization: Bearer {{token}}\n\n ```\n\n- Obtain `{{token}}` using the authentication endpoints in this collection (for example, register/login).\n    \n- Store it as an environment variable (`token`) so that it is automatically injected into requests.\n    \n- Public endpoints (such as listing public events) may be accessible without authentication; see individual request descriptions for details.\n    \n\n## Request/Response Conventions\n\n- **Content type**: JSON is used for most request and response bodies unless otherwise specified.\n    \n- **Pagination & filtering**: List endpoints commonly accept query parameters like `page`, `page_size`, search `q`, and domain-specific filters (e.g. by event, organizer, or status).\n    \n- **Path parameters**: IDs such as `event_id`, `ticket_class_id`, `order_id`, `user_id`, and `organizer_id` are provided as path segments.\n    \n- **Timestamps**: Datetime fields are typically ISO-8601 strings (e.g. `2025-01-01T18:00:00Z`).\n    \n\n## Error Handling\n\nThe API uses standard HTTP status codes:\n\n- `2xx` – Request succeeded (e.g. `200 OK`, `201 Created`, `204 No Content`).\n    \n- `400 Bad Request` – Validation errors or malformed input.\n    \n- `401 Unauthorized` – Missing or invalid authentication token.\n    \n- `403 Forbidden` – The authenticated user is not allowed to perform the operation.\n    \n- `404 Not Found` – The requested resource does not exist or is not visible to the caller.\n    \n- `409 Conflict` – Business rule violations (e.g. overbooking capacity, duplicate entities).\n    \n- `422 Unprocessable Entity` – Domain validation errors (e.g. invalid state transitions).\n    \n- `5xx` – Unexpected server errors.\n    \n\nMost error responses include a JSON body with at least:\n\n``` json\n{\n  \"error\": \"short_error_code_or_type\",\n  \"message\": \"Human readable description of what went wrong\"\n}\n\n ```\n\nAlways check both the HTTP status code and the body when handling errors on the client side.\n\n## Folders & Functional Areas\n\nThe collection is organized by domain-specific folders. High-level areas include:\n\n- **Authentication & accounts** – User registration, login, profile & account settings, and stored payment methods.\n    \n- **Events (public & organizer)** – Public event discovery and organizer CRUD / configuration.\n    \n- **Tickets & inventory** – Ticket classes, availability checks, reservations, and validation.\n    \n- **Orders & payments** – Cart/order lifecycle, payment initiation, status checks, and refunds or cancellations.\n    \n- **Organizer tools** – Organizer banking details, dashboards, export/reporting, and event-level management.\n    \n\nRefer to each folder and request description for precise input/output details and examples.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"28274964","collectionId":"96af64c2-e692-4c6f-83c5-27e24407de53","publishedId":"2sBXVhCqZ2","public":true,"publicUrl":"https://documenter-api.postman.tech/view/28274964/2sBXVhCqZ2","privateUrl":"https://go.postman.co/documentation/28274964-96af64c2-e692-4c6f-83c5-27e24407de53","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":"The Ticketing API powers a comprehensive event ticketing platform built in Go. It supports user authentication, event and ticket management, order handling, payments, and organizer-focused analytics."},{"name":"title","value":"Ticketing sytem documentation"}],"appearance":{"default":"dark","themes":[{"name":"dark","logo":null,"colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"FF6C37"}},{"name":"light","logo":null,"colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"}}]}},"version":"8.10.1","publishDate":"2026-01-14T17:01:36.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"Ticketing sytem documentation","description":"The Ticketing API powers a comprehensive event ticketing platform built in Go. It supports user authentication, event and ticket management, order handling, payments, and organizer-focused analytics."},"logos":{"logoLight":null,"logoDark":null}},"statusCode":200},"environments":[{"name":"ticketing-dev","id":"e373acbf-2e27-447b-ac00-03c16e715d0d","owner":"28274964","values":[{"key":"base_url","value":"","enabled":true,"type":"default"},{"key":"token","value":"","enabled":true,"type":"default"}],"published":true}],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/768118b36f06c94b0306958b980558e6915839447e859fe16906e29d683976f0","favicon":""},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"},{"label":"ticketing-dev","value":"28274964-e373acbf-2e27-447b-ac00-03c16e715d0d"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/2sBXVhCqZ2"}