Howler Transfer Ticket API

The Transfer Ticket API from Howler — 2 operation(s) for transfer ticket.

OpenAPI Specification

howler-transfer-ticket-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Howler API v3 Artists Transfer Ticket API
  version: 3.6.1
  description: '*Last updated: 2026-01-20 21:15:49 +0200*

    '
servers:
- url: https://{defaultHost}/api/v3/consumer_portal
  variables:
    defaultHost:
      default: www.howler.co.za
  description: Server for consumer portal endpoints
security:
- bearer_header: []
  bearer_param: []
  api_key: []
  bearer_auth: []
tags:
- name: Transfer Ticket
paths:
  /tickets/{ticket_id}/transfer:
    parameters:
    - name: ticket_id
      in: path
      description: ticket_id
      required: true
      schema:
        type: integer
    post:
      summary: create ticket transfer (1)
      operationId: updateConsumerTicketTransferCreate
      tags:
      - Transfer Ticket
      description: '**Step 1 of 2**


        Start the transfer process of a ticket by specifying the details the new owner.


        This action can only be performed if transfers are allow for the ticket.


        The transfer needs to be completed using `/api/v3/consumer_portal/tickets/{ticket_id}/transfer/{transfer_order_id}/confirmation`.

        '
      parameters: []
      responses:
        '200':
          description: successful
          content:
            application/json:
              schema:
                type: object
                properties:
                  transfer_order:
                    $ref: '#/components/schemas/Order'
                  next_step:
                    type: string
        '404':
          description: ticket not found
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                transfer_order:
                  type: object
                  properties:
                    first_name:
                      type: string
                    last_name:
                      type: string
                    email:
                      type: string
                    email_confirmation:
                      type: string
                  required:
                  - first_name
                  - last_name
                  - email
                  - email_confirmation
              required:
              - transfer_order
        required: true
  /tickets/{ticket_id}/transfer/{transfer_order_id}/confirmation:
    parameters:
    - name: ticket_id
      in: path
      description: ticket_id
      required: true
      schema:
        type: integer
    - name: transfer_order_id
      in: path
      description: transfer_order_id
      required: true
      schema:
        type: integer
    put:
      summary: confirm ticket transfer (2)
      operationId: updateConsumerTicketTransferConfirm
      tags:
      - Transfer Ticket
      description: '**Step 2 of 2**


        Confirms a transfer order and completes the order.

        '
      responses:
        '200':
          description: successful
          content:
            application/json:
              schema:
                type: object
                properties:
                  transfer_order:
                    $ref: '#/components/schemas/Order'
        '404':
          description: transfer order not found
components:
  schemas:
    User:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
          description: Primary Key
        first_name:
          type: string
          description: First Name
        last_name:
          type: string
          description: Last Name
        primary_email:
          type: string
          readOnly: true
          description: Email address of user or dummy user
        dummy?:
          type: boolean
          readOnly: true
          description: True if the user has not yet signed up for an account.
      required:
      - id
      - first_name
      - last_name
      - primary_email
      - dummy?
    Order:
      type: object
      properties:
        id:
          type: integer
        reference:
          type: string
        type:
          type: string
        status:
          type: string
          enum:
          - pending
          - paid
          - expired
          - pending_payment
          - created
          - processing
        user:
          $ref: '#/components/schemas/User'
        cashless_deposit_cents:
          type: integer
      required:
      - id
      - reference
      - status
      - type
      - user
      - cashless_deposit_cents
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth2 authentication for third-party applications
      flows:
        authorizationCode:
          authorizationUrl: /oauth/authorize
          tokenUrl: /oauth/token
          scopes:
            public: Public scope
            login: Login scope
            ott: One-time token scope
    bearer_header:
      type: http
      scheme: bearer
      bearerFormat: oauth2
      in: header
    bearer_param:
      type: apiKey
      scheme: bearer
      bearerFormat: oauth2
      name: bearer_token
      in: query
    jwt_header:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT token obtained from basic authentication login
    jwt_param:
      type: apiKey
      name: bearer_token
      in: query
      description: JWT token as query parameter (alternative to Authorization header)
    basic_auth:
      type: http
      scheme: basic
      description: Basic authentication with email and password
    api_key:
      type: apiKey
      name: x-auth-token
      in: header
      description: API key authentication
    bearer_auth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT token authentication