Ticket Tailor Event Series API

Create, list, retrieve, update, delete, and change the status of event series - the parent container that groups one or more event dates. Also creates ticket types and ticket groups scoped to a series.

OpenAPI Specification

tickettailor-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Ticket Tailor API
  description: >-
    The Ticket Tailor API is a public REST API for the Ticket Tailor online event
    ticketing platform. It exposes a box office programmatically - events, event
    series, orders, issued tickets, ticket types, ticket groups, vouchers, and
    check-ins - over HTTPS. Requests are authenticated with an API key using HTTP
    Basic Auth, where the API key is supplied as the username and the password is
    left blank. An API key can only access data from the box office that issued it.
    Endpoints that enumerate objects use cursor-based pagination via the
    starting_after and ending_before parameters (maximum 100 results per page).
    The API is rate limited to 5000 requests per 30 minutes; POST /issued_memberships
    is further limited to 30 requests per hour.
  version: '1.0'
  contact:
    name: Ticket Tailor
    url: https://developers.tickettailor.com/docs/intro/
servers:
  - url: https://api.tickettailor.com/v1
    description: Ticket Tailor API v1
security:
  - basicAuth: []
tags:
  - name: Events
    description: Individual scheduled event dates in a box office.
  - name: Event Series
    description: Parent containers that group one or more event dates.
  - name: Ticket Types
    description: Ticket types and ticket groups scoped to an event series.
  - name: Orders
    description: Orders belonging to a box office.
  - name: Issued Tickets
    description: Individual tickets issued to attendees.
  - name: Vouchers
    description: Vouchers and their redeemable codes.
  - name: Check-ins
    description: Attendee check-ins recorded at the door.
  - name: Utility
    description: Connectivity and account overview.
paths:
  /ping:
    get:
      tags:
        - Utility
      summary: Ping
      description: Simple connectivity/authentication check.
      operationId: ping
      responses:
        '200':
          description: API reachable and credentials valid.
  /events:
    get:
      tags:
        - Events
      summary: List all events
      description: Returns a paginated list of events belonging to the box office.
      operationId: getAllEvents
      parameters:
        - $ref: '#/components/parameters/startingAfter'
        - $ref: '#/components/parameters/endingBefore'
        - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: A paginated list of events.
  /events/{id}:
    get:
      tags:
        - Events
      summary: Retrieve an event
      description: Retrieves a single event by its ID.
      operationId: getEvent
      parameters:
        - $ref: '#/components/parameters/idPath'
      responses:
        '200':
          description: The requested event.
  /event_series:
    get:
      tags:
        - Event Series
      summary: List all event series
      description: Returns a paginated list of event series in the box office.
      operationId: getAllEventSeries
      parameters:
        - $ref: '#/components/parameters/startingAfter'
        - $ref: '#/components/parameters/endingBefore'
        - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: A paginated list of event series.
    post:
      tags:
        - Event Series
      summary: Create an event series
      description: Creates a new event series.
      operationId: createEventSeries
      responses:
        '201':
          description: The created event series.
  /event_series/{id}:
    get:
      tags:
        - Event Series
      summary: Retrieve an event series
      description: Retrieves a single event series by its ID.
      operationId: getEventSeries
      parameters:
        - $ref: '#/components/parameters/idPath'
      responses:
        '200':
          description: The requested event series.
    put:
      tags:
        - Event Series
      summary: Update an event series
      description: Updates an existing event series.
      operationId: updateEventSeries
      parameters:
        - $ref: '#/components/parameters/idPath'
      responses:
        '200':
          description: The updated event series.
    delete:
      tags:
        - Event Series
      summary: Delete an event series
      description: Deletes an event series.
      operationId: deleteEventSeries
      parameters:
        - $ref: '#/components/parameters/idPath'
      responses:
        '200':
          description: The event series was deleted.
  /event_series/{id}/status:
    patch:
      tags:
        - Event Series
      summary: Change event series status
      description: Publishes or unpublishes an event series by changing its status.
      operationId: updateEventSeriesStatus
      parameters:
        - $ref: '#/components/parameters/idPath'
      responses:
        '200':
          description: The event series with its updated status.
  /event_series/{id}/ticket_types:
    post:
      tags:
        - Ticket Types
      summary: Create a ticket type for an event series
      description: Creates a ticket type scoped to the given event series.
      operationId: createTicketType
      parameters:
        - $ref: '#/components/parameters/idPath'
      responses:
        '201':
          description: The created ticket type.
  /event_series/{id}/ticket_groups:
    post:
      tags:
        - Ticket Types
      summary: Create a ticket group for an event series
      description: Creates a ticket group scoped to the given event series.
      operationId: createTicketGroup
      parameters:
        - $ref: '#/components/parameters/idPath'
      responses:
        '201':
          description: The created ticket group.
  /orders:
    get:
      tags:
        - Orders
      summary: List all orders
      description: Returns a paginated list of orders belonging to the box office.
      operationId: getAllOrders
      parameters:
        - $ref: '#/components/parameters/startingAfter'
        - $ref: '#/components/parameters/endingBefore'
        - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: A paginated list of orders.
  /orders/{id}:
    get:
      tags:
        - Orders
      summary: Retrieve an order
      description: Retrieves a single order by its ID.
      operationId: getOrder
      parameters:
        - $ref: '#/components/parameters/idPath'
      responses:
        '200':
          description: The requested order.
    patch:
      tags:
        - Orders
      summary: Update an order
      description: Updates an existing order.
      operationId: updateOrder
      parameters:
        - $ref: '#/components/parameters/idPath'
      responses:
        '200':
          description: The updated order.
  /issued_tickets:
    get:
      tags:
        - Issued Tickets
      summary: List all issued tickets
      description: Returns a paginated list of issued tickets.
      operationId: getAllIssuedTickets
      parameters:
        - $ref: '#/components/parameters/startingAfter'
        - $ref: '#/components/parameters/endingBefore'
        - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: A paginated list of issued tickets.
    post:
      tags:
        - Issued Tickets
      summary: Create an issued ticket
      description: Issues a new ticket.
      operationId: createIssuedTicket
      responses:
        '201':
          description: The created issued ticket.
  /issued_tickets/{id}:
    get:
      tags:
        - Issued Tickets
      summary: Retrieve an issued ticket
      description: Retrieves a single issued ticket by its ID.
      operationId: getIssuedTicket
      parameters:
        - $ref: '#/components/parameters/idPath'
      responses:
        '200':
          description: The requested issued ticket.
  /issued_tickets/{id}/void:
    post:
      tags:
        - Issued Tickets
      summary: Void an issued ticket
      description: Voids an issued ticket so it is no longer valid.
      operationId: voidIssuedTicket
      parameters:
        - $ref: '#/components/parameters/idPath'
      responses:
        '200':
          description: The voided issued ticket.
  /vouchers:
    get:
      tags:
        - Vouchers
      summary: List all vouchers
      description: Returns a paginated list of vouchers.
      operationId: getAllVouchers
      parameters:
        - $ref: '#/components/parameters/startingAfter'
        - $ref: '#/components/parameters/endingBefore'
        - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: A paginated list of vouchers.
    post:
      tags:
        - Vouchers
      summary: Create a voucher
      description: Creates a voucher and its associated codes.
      operationId: createVoucher
      responses:
        '201':
          description: The created voucher.
  /vouchers/{id}:
    get:
      tags:
        - Vouchers
      summary: Retrieve a voucher
      description: Retrieves a single voucher by its ID.
      operationId: getVoucher
      parameters:
        - $ref: '#/components/parameters/idPath'
      responses:
        '200':
          description: The requested voucher.
    put:
      tags:
        - Vouchers
      summary: Modify a voucher
      description: Modifies an existing voucher.
      operationId: updateVoucher
      parameters:
        - $ref: '#/components/parameters/idPath'
      responses:
        '200':
          description: The updated voucher.
    delete:
      tags:
        - Vouchers
      summary: Delete a voucher
      description: Removes a voucher.
      operationId: deleteVoucher
      parameters:
        - $ref: '#/components/parameters/idPath'
      responses:
        '200':
          description: The voucher was deleted.
  /voucher-codes:
    get:
      tags:
        - Vouchers
      summary: List voucher codes
      description: Returns a paginated list of voucher codes.
      operationId: getVoucherCodes
      parameters:
        - $ref: '#/components/parameters/startingAfter'
        - $ref: '#/components/parameters/endingBefore'
        - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: A paginated list of voucher codes.
  /check_ins:
    get:
      tags:
        - Check-ins
      summary: List check-ins
      description: Returns a paginated list of check-ins.
      operationId: getCheckIns
      parameters:
        - $ref: '#/components/parameters/startingAfter'
        - $ref: '#/components/parameters/endingBefore'
        - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: A paginated list of check-ins.
    post:
      tags:
        - Check-ins
      summary: Create a check-in
      description: Records a check-in for an issued ticket at the door.
      operationId: createCheckIn
      responses:
        '201':
          description: The recorded check-in.
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: >-
        HTTP Basic Auth. Supply your Ticket Tailor API key as the username and
        leave the password blank. Keys are managed in box office settings and are
        scoped to the issuing box office.
  parameters:
    idPath:
      name: id
      in: path
      required: true
      description: The unique identifier of the object.
      schema:
        type: string
    startingAfter:
      name: starting_after
      in: query
      required: false
      description: Cursor - return results that come after this object ID.
      schema:
        type: string
    endingBefore:
      name: ending_before
      in: query
      required: false
      description: Cursor - return results that come before this object ID.
      schema:
        type: string
    limit:
      name: limit
      in: query
      required: false
      description: Maximum number of results per page (max 100).
      schema:
        type: integer
        maximum: 100
        default: 100