{ "openapi": "3.1.0", "info": { "title": "TicketSource API", "version": "1.1", "description": "The OpenAPI specification for the TicketSource API", "contact": { "name": "TicketSource Support", "url": "https://www.ticketsource.co.uk/help", "email": "support@ticketsource.co.uk" }, "termsOfService": "https://www.ticketsource.co.uk/kb/terms-of-use/terms-and-conditions" }, "servers": [ { "url": "https://api.ticketsource.io", "description": "Live Server" } ], "paths": { "/events": { "get": { "summary": "List all Events", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/Event" } } } } } } } }, "operationId": "get-events", "description": "List paginated Events.", "security": [ { "BearerToken": [] } ], "parameters": [ { "$ref": "#/components/parameters/per_page" }, { "$ref": "#/components/parameters/page" } ], "tags": [ "Events" ] } }, "/events/{EventId}": { "parameters": [ { "$ref": "#/components/parameters/EventId" } ], "get": { "summary": "Get an Event", "tags": [ "Events" ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Event" } } } } } }, "404": { "$ref": "#/components/responses/NotFound" } }, "operationId": "get-event", "description": "Get an individual Event record", "security": [ { "BearerToken": [] } ] } }, "/events/{EventId}/venues": { "parameters": [ { "$ref": "#/components/parameters/EventId" } ], "get": { "summary": "List all Venues for an Event", "tags": [ "Events", "Venues" ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/Venue" } } } } } } }, "404": { "$ref": "#/components/responses/NotFound" } }, "operationId": "get-event-venues", "security": [ { "BearerToken": [] } ], "description": "List paginated Venues for a given Event", "parameters": [ { "$ref": "#/components/parameters/per_page" }, { "$ref": "#/components/parameters/page" } ] } }, "/events/{EventId}/dates": { "parameters": [ { "name": "EventId", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The unique identifier for a Event record" } ], "get": { "summary": "List all Dates for an Event", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/Date" } } } } } } }, "404": { "$ref": "#/components/responses/NotFound" } }, "operationId": "get-event-dates", "security": [ { "BearerToken": [] } ], "description": "List paginated Dates for a given Event", "parameters": [ { "$ref": "#/components/parameters/per_page" }, { "$ref": "#/components/parameters/page" } ], "tags": [ "Events", "Performances" ] } }, "/venues/{VenueId}": { "parameters": [ { "$ref": "#/components/parameters/VenueId" } ], "get": { "summary": "Get a Venue", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Venue" } } } } } }, "404": { "$ref": "#/components/responses/NotFound" } }, "operationId": "get-venue", "description": "Get an individual Venue record", "security": [ { "BearerToken": [] } ], "tags": [ "Events", "Venues" ] } }, "/venues/{VenueId}/dates": { "parameters": [ { "$ref": "#/components/parameters/VenueId" } ], "get": { "summary": "List all Dates for a Venue", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/Date" } } } } } } }, "404": { "$ref": "#/components/responses/NotFound" } }, "operationId": "get-venue-dates", "security": [ { "BearerToken": [] } ], "description": "List paginated Dates for a given Venue", "parameters": [ { "$ref": "#/components/parameters/per_page" }, { "$ref": "#/components/parameters/page" } ], "tags": [ "Events", "Performances" ] } }, "/dates/{DateId}": { "parameters": [ { "$ref": "#/components/parameters/DateId" } ], "get": { "summary": "Get a Date", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Date" } } } } } }, "404": { "$ref": "#/components/responses/NotFound" } }, "operationId": "get-date", "description": "Get an individual Date record", "security": [ { "BearerToken": [] } ], "tags": [ "Events", "Performances" ] } }, "/dates/{DateId}/bookings": { "parameters": [ { "$ref": "#/components/parameters/DateId" } ], "get": { "summary": "List all Bookings for a Date", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/Booking" } }, "links": { "type": "object", "properties": { "first": { "type": "string" }, "last": { "type": "string" }, "prev": { "type": "string" }, "next": { "type": "string" } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "from": { "type": "integer" }, "path": { "type": "string" }, "per_page": { "type": "integer" }, "to": { "type": "integer" } } } } } } } }, "404": { "$ref": "#/components/responses/NotFound" } }, "operationId": "get-date-bookings", "description": "List paginated Bookings for a given Date", "parameters": [ { "$ref": "#/components/parameters/per_page" }, { "$ref": "#/components/parameters/page" } ], "security": [ { "BearerToken": [] } ], "tags": [ "Bookings", "Tickets" ] } }, "/customers": { "get": { "summary": "List all Customers", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/Customer" } } } } } } } }, "operationId": "get-customers", "description": "List paginated Customers.", "security": [ { "BearerToken": [] } ], "parameters": [ { "$ref": "#/components/parameters/per_page" }, { "$ref": "#/components/parameters/page" } ], "tags": [ "Customers" ] }, "parameters": [], "post": { "summary": "Create Customer", "operationId": "post-customer", "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "description": "The created Customer record", "properties": { "data": { "$ref": "#/components/schemas/Customer" } } } } } }, "400": { "$ref": "#/components/responses/BadRequest" } }, "description": "Create a Customer record", "tags": [ "Customers" ], "security": [ { "BearerToken": [] } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Customer" } } } } }, "description": "" } } }, "/customers/{CustomerId}": { "parameters": [ { "$ref": "#/components/parameters/CustomerId" } ], "get": { "summary": "Get a Customer", "tags": [ "Customers" ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Customer" } } } } } }, "404": { "$ref": "#/components/responses/NotFound" } }, "operationId": "get-customer", "description": "Get an individual Customer record", "security": [ { "BearerToken": [] } ] }, "patch": { "summary": "Update Customer", "operationId": "patch-customer", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Customer" } } } } } }, "400": { "$ref": "#/components/responses/BadRequest" }, "404": { "$ref": "#/components/responses/NotFound" } }, "description": "Update an existing Customer record", "security": [ { "BearerToken": [] } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/Customer", "x-stoplight": { "id": "ccmnlojcyy7ws" } }, { "type": "object", "x-stoplight": { "id": "mmko6mknegpsc" }, "properties": { "id": { "type": "string", "x-stoplight": { "id": "0px63wher8uu1" }, "writeOnly": true } } } ] } } } } } }, "tags": [ "Customers" ] }, "delete": { "summary": "Delete Customer", "operationId": "delete-customer", "responses": { "204": { "$ref": "#/components/responses/NoContent" }, "404": { "$ref": "#/components/responses/NotFound" } }, "description": "Delete an existing Customer record", "security": [ { "BearerToken": [] } ], "tags": [ "Customers" ] } }, "/customers/{CustomerId}/notes": { "parameters": [ { "$ref": "#/components/parameters/CustomerId" } ], "get": { "summary": "List all Notes for a Customer", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/CustomerNote" } }, "links": { "type": "object", "properties": { "first": { "type": "string" }, "last": { "type": "string" }, "prev": { "type": "string" }, "next": { "type": "string" } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "from": { "type": "integer" }, "path": { "type": "string" }, "per_page": { "type": "integer" }, "to": { "type": "integer" } } } } } } } }, "404": { "$ref": "#/components/responses/NotFound" } }, "operationId": "get-customer-notes", "description": "List paginated Notes for a given Customer record", "parameters": [ { "$ref": "#/components/parameters/per_page" }, { "$ref": "#/components/parameters/page" } ], "security": [ { "BearerToken": [] } ], "tags": [ "Customers" ] }, "post": { "summary": "Create Customer Note", "operationId": "post-customer-note", "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/CustomerNote" } } } } } }, "400": { "$ref": "#/components/responses/BadRequest" }, "404": { "$ref": "#/components/responses/NotFound" } }, "description": "Create a Customer Note record for a given Customer", "security": [ { "BearerToken": [] } ], "tags": [ "Customers" ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/CustomerNote" } } } } } } } }, "/customers/{CustomerId}/notes/{CustomerNoteId}": { "parameters": [ { "$ref": "#/components/parameters/CustomerId" }, { "$ref": "#/components/parameters/CustomerNoteId" } ], "get": { "summary": "Get a Customer Note", "tags": [ "Customers" ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/CustomerNote" } } } } } }, "404": { "$ref": "#/components/responses/NotFound" } }, "operationId": "get-customer-note", "description": "Get an individual Customer record", "security": [ { "BearerToken": [] } ] }, "delete": { "summary": "Delete Customer", "operationId": "delete-customer-note", "responses": { "204": { "$ref": "#/components/responses/NoContent" }, "404": { "$ref": "#/components/responses/NotFound" } }, "description": "Delete an existing Customer Note record", "security": [ { "BearerToken": [] } ], "tags": [ "Customers" ] } }, "/customers/{CustomerId}/bookings": { "parameters": [ { "$ref": "#/components/parameters/CustomerId" } ], "get": { "summary": "List all Bookings for a Customer", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/Booking" } }, "links": { "type": "object", "properties": { "first": { "type": "string" }, "last": { "type": "string" }, "prev": { "type": "string" }, "next": { "type": "string" } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "from": { "type": "integer" }, "path": { "type": "string" }, "per_page": { "type": "integer" }, "to": { "type": "integer" } } } } } } } }, "404": { "$ref": "#/components/responses/NotFound" } }, "operationId": "get-customer-bookings", "description": "List paginated Bookings for a given Customer", "parameters": [ { "$ref": "#/components/parameters/per_page" }, { "$ref": "#/components/parameters/page" } ], "security": [ { "BearerToken": [] } ], "tags": [ "Bookings", "Tickets" ] } }, "/bookings/{BookingId}": { "parameters": [ { "$ref": "#/components/parameters/BookingId" } ], "get": { "summary": "Get a Booking", "tags": [ "Bookings", "Tickets" ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Booking" } } } } } }, "404": { "$ref": "#/components/responses/NotFound" } }, "operationId": "get-booking", "description": "Get an individual Booking record", "security": [ { "BearerToken": [] } ] } }, "/bookings/{BookingId}/seats": { "parameters": [ { "$ref": "#/components/parameters/BookingId" } ], "get": { "summary": "List all Seats for a Booking", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/Seat" } }, "links": { "type": "object", "properties": { "first": { "type": "string" }, "last": { "type": "string" }, "prev": { "type": "string" }, "next": { "type": "string" } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer" }, "from": { "type": "integer" }, "path": { "type": "string" }, "per_page": { "type": "integer" }, "to": { "type": "integer" } } } } } } } }, "404": { "$ref": "#/components/responses/NotFound" } }, "operationId": "get-booking-seats", "description": "List paginated Seats for a given Booking", "parameters": [ { "$ref": "#/components/parameters/per_page" }, { "$ref": "#/components/parameters/page" } ], "security": [ { "BearerToken": [] } ], "tags": [ "Bookings", "Tickets", "Seats" ] } }, "/seats/{SeatId}": { "parameters": [ { "$ref": "#/components/parameters/SeatId" } ], "get": { "summary": "Get a Seat", "tags": [ "Bookings", "Tickets", "Seats" ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Seat" } } } } } }, "404": { "$ref": "#/components/responses/NotFound" } }, "operationId": "get-seat", "description": "Get an individual Seat record", "security": [ { "BearerToken": [] } ] } } }, "components": { "schemas": { "Event": { "title": "Event", "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "name": { "type": "string" }, "reference": { "type": "string" }, "description": { "type": "string" }, "comment": { "type": "string" }, "keywords": { "type": "string" }, "terms": { "type": "string" }, "category": { "type": "string" }, "genre": { "type": "string" }, "images": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string" }, "src": { "type": "string" } } } }, "third_party_consent": { "type": "object", "properties": { "capture": { "type": "boolean" }, "name": { "type": "string" }, "show_consent": { "type": "object", "properties": { "email": { "type": "boolean" }, "post": { "type": "boolean" }, "sms": { "type": "boolean" } } } } }, "activated": { "type": "boolean" }, "archived": { "type": "boolean" }, "public": { "type": "boolean" }, "created_at": { "type": "string", "example": "2022-09-26T09:00:00+00:00", "format": "date-time", "readOnly": true }, "updated_at": { "type": [ "string", "null" ], "example": "2022-09-26T09:00:00+00:00", "format": "date-time", "readOnly": true } } }, "links": { "type": "object", "properties": { "self": { "type": "string", "readOnly": true }, "venues": { "type": "string", "readOnly": true }, "dates": { "type": "string", "readOnly": true } }, "readOnly": true } }, "description": "An Event which can have multiple Venues and Dates associated with it." }, "Venue": { "title": "Venue", "type": "object", "description": "A Venue belonging to an Event that can have multiple Dates associated with it.", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "name": { "type": "string" }, "address": { "type": "object", "properties": { "line_1": { "type": "string" }, "line_2": { "type": "string" }, "line_3": { "type": "string" }, "line_4": { "type": "string" }, "postcode": { "type": "string" } } }, "boxoffice": { "type": "object", "properties": { "telephone": { "type": "string" }, "email": { "type": "string" } } }, "created_at": { "type": "string", "example": "2022-09-26T09:00:00+00:00", "format": "date-time", "readOnly": true }, "updated_at": { "type": [ "string", "null" ], "example": "2022-09-26T09:00:00+00:00", "format": "date-time", "readOnly": true } } }, "links": { "type": "object", "properties": { "self": { "type": "string", "readOnly": true }, "dates": { "type": "string", "readOnly": true }, "event": { "type": "string", "readOnly": true } }, "readOnly": true } } }, "Date": { "title": "Date", "type": "object", "description": "A Date representing a single datetime performance of an Event at a Venue", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "doors_open": { "type": "string" }, "start": { "type": "string" }, "end": { "type": "string" }, "on_sale": { "type": "boolean" }, "on_sale_start": { "type": "string" }, "on_sale_end": { "type": "string" }, "public": { "type": "boolean" }, "cancelled": { "type": "boolean" }, "created_at": { "type": "string", "example": "2022-09-26T09:00:00+00:00", "format": "date-time", "readOnly": true }, "updated_at": { "type": [ "string", "null" ], "example": "2022-09-26T09:00:00+00:00", "format": "date-time", "readOnly": true } } }, "links": { "type": "object", "properties": { "self": { "type": "string", "readOnly": true }, "book_now": { "type": "string", "readOnly": true }, "bookings": { "type": "string", "readOnly": true }, "event": { "type": "string", "readOnly": true }, "venue": { "type": "string", "readOnly": true } }, "readOnly": true } } }, "Booking": { "type": "object", "title": "Booking", "examples": [], "description": "A Booking including cost, discount and donation details.", "properties": { "id": { "type": "string", "pattern": "bkg-[a-zA-Z0-9]+", "example": "bkg-xZVrM6valQGb3gPq", "readOnly": true }, "type": { "type": "string", "example": "booking", "default": "booking", "enum": [ "booking" ], "readOnly": true }, "attributes": { "type": "object", "properties": { "ref": { "type": "string", "pattern": "[a-zA-Z0-9]{6}", "example": "A12BCD" }, "lines": { "type": "array", "items": { "type": "object", "properties": { "line_type": { "type": "string", "enum": [ "TICKETS", "DONATION", "SUNDRY" ], "example": "TICKETS", "readOnly": true }, "payment_method": { "type": "string", "enum": [ "TS", "STRIPE" ], "example": "TS", "readOnly": true }, "is_refund": { "type": "boolean", "default": false, "readOnly": true }, "amount": { "type": "object", "properties": { "gross": { "type": "number", "example": 10, "format": "double", "readOnly": true }, "fee": { "type": "number", "example": 0.65, "format": "double", "readOnly": true }, "fee_vat": { "type": "number", "example": 0.65, "format": "double", "readOnly": true }, "net": { "type": "number", "format": "double", "example": 9.22, "readOnly": true }, "discounts": { "type": "object", "properties": { "automatic": { "type": "number", "readOnly": true }, "code": { "type": "object", "properties": { "description": { "type": "string", "example": "", "readOnly": true }, "amount": { "type": "number", "format": "double", "example": 0, "readOnly": true } } } } } } }, "created_at": { "type": "string", "format": "date-time", "example": "2022-09-26T09:00:00+00:00", "readOnly": true }, "updated_at": { "type": [ "string", "null" ], "format": "date-time", "example": "2022-09-27T09:00:00+00:00", "readOnly": true } } } }, "created_at": { "type": "string", "example": "2022-09-26T09:00:00+00:00", "format": "date-time", "readOnly": true }, "updated_at": { "type": "string", "example": "2022-09-27T09:00:00+00:00", "format": "date-time", "readOnly": true }, "consent": { "type": "object", "properties": { "third_party": { "type": "string", "example": "Visiting Company" }, "email": { "type": "boolean" }, "post": { "type": "boolean" }, "sms": { "type": "boolean" } } }, "user_booked_by": { "type": "string", "example": "Staff Member" } } }, "links": { "type": "object", "properties": { "self": { "type": "string", "format": "uri", "example": "https://api.ticketsource.io/bookings/bkg-xZVrM6valQGb3gPq", "readOnly": true }, "seats": { "type": "string", "format": "uri", "example": "https://api.ticketsource.io/bookings/bkg-xZVrM6valQGb3gPq/seats", "readOnly": true }, "customer": { "type": "string", "format": "uri", "example": "https://api.ticketsource.io/customers/cst-dQyWKER4Orw5glVX", "readOnly": true }, "date": { "type": "string", "format": "uri", "example": "https://api.ticketsource.io/dates/dat-41wq7kmW7YxRp2ov", "readOnly": true } } } } }, "Seat": { "title": "Seat", "type": "object", "description": "A Seat representing a seat or place in a booking with or without reference.", "properties": { "id": { "type": "string", "pattern": "sea-[a-zA-Z0-9]+", "example": "sea-ALd2DZ1AWyrBlz5o" }, "type": { "type": "string", "default": "seat", "pattern": "^seat$", "example": "seat", "enum": [ "seat" ] }, "attributes": { "type": "object", "properties": { "is_booked": { "type": "boolean" }, "is_cancelled": { "type": "boolean" }, "reference": { "type": "object", "properties": { "row": { "type": [ "string", "null" ] }, "seat": { "type": [ "string", "null" ] } } }, "price_category": { "type": "string" }, "attendee": { "type": "object", "properties": { "title": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "company": { "type": "object", "properties": { "name": { "type": "string" }, "title": { "type": "string" } } }, "telephone": { "type": "string" }, "email": { "type": "string" } } }, "created_at": { "type": "string", "example": "2022-09-26T09:00:00+00:00", "format": "date-time", "readOnly": true }, "updated_at": { "type": [ "string", "null" ], "example": "2022-09-26T09:00:00+00:00", "format": "date-time", "readOnly": true } } }, "links": { "type": "object", "properties": { "self": { "type": "string", "readOnly": true }, "booking": { "type": "string", "readOnly": true } }, "readOnly": true } } }, "Customer": { "title": "Customer", "type": "object", "description": "A Customer including contact details, membership information and marketing consent.", "properties": { "id": { "type": "string", "example": "cst-dQyWKER4Orw5glVX", "readOnly": true }, "type": { "type": "string", "example": "customer", "enum": [ "customer" ], "default": "customer", "pattern": "^customer$" }, "attributes": { "type": "object", "properties": { "title": { "type": [ "string", "null" ], "deprecated": true, "description": "No longer in use in the TicketSource system.", "example": null }, "first_name": { "type": [ "string", "null" ], "example": "Ticket" }, "last_name": { "type": [ "string", "null" ], "example": "Purchaser" }, "address": { "type": [ "object", "null" ], "properties": { "line_1": { "type": [ "string", "null" ], "example": "TicketSource" }, "line_2": { "type": [ "string", "null" ], "example": "Off Edge" }, "line_3": { "type": [ "string", "null" ], "example": "Station Approach" }, "line_4": { "type": [ "string", "null" ], "example": "Penarth" }, "postcode": { "type": [ "string", "null" ], "example": "CF64 3EE" } } }, "telephone": { "type": [ "string", "null" ], "example": "+443336664466" }, "phone": { "type": [ "string", "null" ], "description": "See 'telephone'", "deprecated": true }, "email": { "type": [ "string", "null" ], "format": "email", "example": "support@ticketsource.co.uk" }, "membership": { "type": [ "object", "null" ], "properties": { "identifier": { "type": [ "string", "null" ], "example": "AMEMBER042", "maxLength": 20 }, "start_date": { "type": [ "string", "null" ], "format": "date-time", "example": "2022-09-26T09:00:00+00:00" }, "end_date": { "type": [ "string", "null" ], "example": "2023-09-26T09:00:00+00:00", "format": "date-time" } } }, "consent": { "type": "object", "properties": { "email": { "type": "boolean", "default": false }, "post": { "type": "boolean", "default": false }, "sms": { "type": "boolean", "default": false } } }, "created_at": { "type": "string", "example": "2022-09-26T09:00:00+00:00", "format": "date-time", "readOnly": true }, "updated_at": { "type": [ "string", "null" ], "example": "2022-09-26T09:00:00+00:00", "format": "date-time", "readOnly": true } } }, "links": { "type": "object", "properties": { "self": { "type": "string", "format": "uri", "example": "https://api.ticketsource.io/customers/cst-dQyWKER4Orw5glVX", "readOnly": true }, "bookings": { "type": "string", "format": "uri", "example": "https://api.ticketsource.io/customers/cst-dQyWKER4Orw5glVX/bookings", "readOnly": true }, "notes": { "type": "string", "format": "uri", "example": "https://api.ticketsource.io/customers/cst-dQyWKER4Orw5glVX/notes", "readOnly": true } }, "readOnly": true } } }, "CustomerNote": { "title": "CustomerNote", "type": "object", "description": "A Customer Note against a specific Customer record.", "properties": { "id": { "type": "string", "example": "csn-47azjpMWXREgVQN8", "pattern": "csn-[a-zA-Z0-9]+", "readOnly": true }, "type": { "type": "string", "pattern": "^customer_note$", "example": "customer_note", "enum": [ "customer_note" ], "default": "customer_note" }, "attributes": { "type": "object", "properties": { "description": { "type": "string", "example": "Customer requires extra leg room" }, "created_by": { "type": "string", "example": "Staff Member" }, "created_at": { "type": "string", "example": "2022-09-26T09:00:00+00:00", "format": "date-time", "readOnly": true }, "updated_at": { "type": [ "string", "null" ], "format": "date-time", "default": null, "readOnly": true } } }, "links": { "type": "object", "properties": { "self": { "type": "string", "format": "uri", "example": "https://api.ticketsource.io/customers/cst-dQyWKER4Orw5glVX/notes/csn-47azjpMWXREgVQN8", "readOnly": true }, "customer": { "type": "string", "example": "https://api.ticketsource.io/customers/cst-dQyWKER4Orw5glVX", "format": "uri", "readOnly": true } }, "readOnly": true } } } }, "securitySchemes": { "BearerToken": { "type": "http", "scheme": "bearer", "description": "Your TicketSource API key can be used as a bearer token." } }, "examples": {}, "parameters": { "DateId": { "name": "DateId", "in": "path", "required": true, "schema": { "type": "string", "pattern": "dat-[a-zA-Z0-9]+", "example": "dat-7QKrj94mdZXO5qJ8" }, "description": "The unique identifier for a Date record" }, "per_page": { "name": "per_page", "in": "query", "required": false, "schema": { "type": "integer", "default": 10, "format": "int32", "example": 15, "maximum": 100, "minimum": 1 }, "description": "Number of results to return in each paginated list response", "style": "form" }, "page": { "name": "page", "in": "query", "required": false, "schema": { "type": "integer", "default": 1, "format": "int32", "example": 2, "minimum": 1 }, "description": "The page requested in a paginated list request", "style": "form" }, "BookingId": { "name": "BookingId", "in": "path", "required": true, "schema": { "type": "string", "pattern": "bkg-[a-zA-Z0-9]+", "example": "bkg-xZVrM6valQGb3gPq" }, "description": "The unique identifier for a Booking record" }, "CustomerId": { "name": "CustomerId", "in": "path", "required": true, "schema": { "type": "string", "pattern": "cst-[a-zA-Z0-9]+", "example": "cst-dQyWKER4Orw5glVX" }, "description": "The unique identifier for a Customer record" }, "CustomerNoteId": { "name": "CustomerNoteId", "in": "path", "required": true, "schema": { "type": "string", "pattern": "csn-[a-zA-Z0-9]+", "example": "csn-47azjpMWXREgVQN8" }, "description": "The unique identifier for a Customer Note record" }, "EventId": { "name": "EventId", "in": "path", "required": true, "schema": { "type": "string", "example": "evt-v4ExP8k8N1AQ5NgB", "pattern": "evt-[a-zA-Z0-9]+" }, "description": "The unique identifier for a Event record" }, "VenueId": { "name": "VenueId", "in": "path", "required": true, "schema": { "type": "string", "example": "ven-v3y0OG7oml9QRjZ5", "pattern": "ven-[a-zA-Z0-9]+" }, "description": "The unique identifier for a Venue record" }, "SeatId": { "name": "SeatId", "in": "path", "required": true, "schema": { "type": "string", "example": "sea-ALd2DZ1AWyrBlz5o", "pattern": "sea-[a-zA-Z0-9]+" }, "description": "The unique identifier for a Seat record" } }, "responses": { "BadRequest": { "description": "400 Bad Request", "content": { "application/json": { "schema": { "type": "object", "properties": { "errors": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "links": { "type": "object", "properties": { "about": { "type": "string" } } }, "status": { "type": "integer", "default": 400, "readOnly": true }, "code": { "type": "string", "default": "validation_failed", "readOnly": true }, "title": { "type": "string", "default": "Bad Request", "readOnly": true }, "detail": { "type": "string", "readOnly": true } } } } } }, "examples": {} } }, "headers": {} }, "NotFound": { "description": "404 Not Found", "content": { "application/json": { "schema": { "type": "object", "properties": { "errors": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "links": { "type": "object", "properties": { "about": { "type": "string" } } }, "status": { "type": "integer", "default": 404, "readOnly": true }, "code": { "type": "string", "default": "not_found", "readOnly": true }, "title": { "type": "string", "default": "Not Found", "readOnly": true }, "detail": { "type": "string", "default": "The item you are looking for can't be found.", "readOnly": true } } } } } }, "examples": {} } }, "headers": {} }, "TooManyRequests": { "description": "429 Too Many Requests", "content": { "application/json": { "schema": { "type": "object", "properties": { "errors": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "links": { "type": "object", "properties": { "about": { "type": "string" } } }, "status": { "type": "integer", "default": 429, "readOnly": true }, "code": { "type": "string", "default": "rate_limit", "readOnly": true }, "title": { "type": "string", "default": "Too Many Requests", "readOnly": true }, "detail": { "type": "string", "default": "You have made too many requests, check the response headers for more details." } } } } } } } }, "headers": {} }, "NoContent": { "description": "Example response", "content": { "application/json": { "schema": { "properties": { "id": { "type": "string" } } } } } } } }, "tags": [ { "name": "Booking" }, { "name": "Bookings" }, { "name": "Customer" }, { "name": "Customers" }, { "name": "Date" }, { "name": "Dates" }, { "name": "Event" }, { "name": "Events" }, { "name": "Performance" }, { "name": "Performances" }, { "name": "Seat" }, { "name": "Seats" }, { "name": "Ticket" }, { "name": "Tickets" }, { "name": "Venue" }, { "name": "Venues" } ], "security": [ { "BearerToken": [] } ] }