{
  "openapi": "3.0.0",
  "info": {
    "title": "viagogo Sales API",
    "version": "2.249.0.0",
    "x-logo": {
      "url": "https://img.vggcdn.net/img/assets/logo/viagogo_logo_apidocs.png",
      "backgroundColor": "#222222"
    }
  },
  "servers": [
    {
      "url": "https://api.viagogo.net/v2",
      "description": "Production"
    },
    {
      "url": "https://sandbox.api.viagogo.net/v2",
      "description": "Sandbox"
    }
  ],
  "paths": {
    "/sales/{saleId}/shipments/{shipmentId}/label": {
      "get": {
        "tags": [
          "Shipments"
        ],
        "summary": "Get shipping label for a sale",
        "operationId": "Shipments_GetSaleShippingLabel",
        "parameters": [
          {
            "name": "saleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "shipmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/not_found",
            "description": null
          },
          "403": {
            "$ref": "#/components/responses/forbidden",
            "description": null
          },
          "401": {
            "$ref": "#/components/responses/requires_authentication",
            "description": null
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error",
            "description": null
          }
        },
        "security": [
          {
            "OAuth2": [
              "read:user",
              "read:sales"
            ]
          }
        ]
      }
    },
    "/sales/{saleId}/shipments": {
      "get": {
        "tags": [
          "Shipments"
        ],
        "summary": "List shipments for a sale",
        "operationId": "Shipments_GetSaleShipments",
        "parameters": [
          {
            "name": "saleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Specifies which page of data to retrieve.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "description": "Set custom page sizes on response.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Shipments"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/not_found",
            "description": null
          },
          "403": {
            "$ref": "#/components/responses/forbidden",
            "description": null
          },
          "401": {
            "$ref": "#/components/responses/requires_authentication",
            "description": null
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error",
            "description": null
          }
        },
        "security": [
          {
            "OAuth2": [
              "read:user",
              "read:sales"
            ]
          }
        ]
      },
      "put": {
        "tags": [
          "Shipments"
        ],
        "summary": "Print a shipping label for a sale",
        "operationId": "Shipments_PutOrGetSaleShipmentLabel",
        "parameters": [
          {
            "name": "saleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Shipment"
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/forbidden",
            "description": null
          },
          "400": {
            "$ref": "#/components/responses/validation_failed",
            "description": null
          },
          "401": {
            "$ref": "#/components/responses/requires_authentication",
            "description": null
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error",
            "description": null
          }
        },
        "security": [
          {
            "OAuth2": [
              "write:user",
              "write:sales"
            ]
          }
        ]
      }
    },
    "/sales/{saleId}/shipments/{shipmentId}": {
      "patch": {
        "tags": [
          "Shipments"
        ],
        "summary": "Update a shipment for a sale",
        "operationId": "Shipments_PatchSaleShipment",
        "parameters": [
          {
            "name": "saleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "shipmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "x-name": "body",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/PatchShipmentRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Shipment"
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/forbidden",
            "description": null
          },
          "400": {
            "$ref": "#/components/responses/validation_failed",
            "description": null
          },
          "401": {
            "$ref": "#/components/responses/requires_authentication",
            "description": null
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error",
            "description": null
          }
        },
        "security": [
          {
            "OAuth2": [
              "write:user",
              "write:sales"
            ]
          }
        ]
      }
    },
    "/sales/{saleId}/eticketuploads": {
      "post": {
        "tags": [
          "E-Tickets"
        ],
        "summary": "Upload e-tickets or proof of transfer for a sale",
        "description": "Once the PDFs has been successfully been uploaded, you must also patch the sale confirming which pages of each PDF should be saved against the order. To do this, the Ids of the etickets property embedded in the EticketUploadEmbeddedResources of each upload, and patch the sale with those Ids.",
        "operationId": "ETicket_UploadSaleETicket",
        "parameters": [
          {
            "name": "saleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Specifies which page of data to retrieve.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "description": "Set custom page sizes on response.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/ETicketUploads"
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/forbidden",
            "description": null
          },
          "400": {
            "$ref": "#/components/responses/validation_failed",
            "description": null
          },
          "401": {
            "$ref": "#/components/responses/requires_authentication",
            "description": null
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error",
            "description": null
          }
        },
        "security": [
          {
            "OAuth2": [
              "write:user",
              "write:sales"
            ]
          }
        ]
      },
      "get": {
        "tags": [
          "E-Tickets"
        ],
        "summary": "List e-ticket uploads for a sale",
        "operationId": "ETicket_GetSaleETicketUploads",
        "parameters": [
          {
            "name": "saleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Specifies which page of data to retrieve.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "description": "Set custom page sizes on response.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/ETicketUploads"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/not_found",
            "description": null
          },
          "403": {
            "$ref": "#/components/responses/forbidden",
            "description": null
          },
          "401": {
            "$ref": "#/components/responses/requires_authentication",
            "description": null
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error",
            "description": null
          }
        },
        "security": [
          {
            "OAuth2": [
              "read:user",
              "read:sales"
            ]
          }
        ]
      }
    },
    "/sales/{saleId}/transferuploads/{transferType}": {
      "post": {
        "tags": [
          "E-Tickets"
        ],
        "summary": "Upload e-ticket transfer for a sale",
        "description": "Supported transfer types are \"acceptance\" for proof of acceptance.",
        "operationId": "ETicket_UploadSaleTransfer",
        "parameters": [
          {
            "name": "saleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "transferType",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Specifies which page of data to retrieve.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "description": "Set custom page sizes on response.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/ETicketUploads"
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/forbidden",
            "description": null
          },
          "400": {
            "$ref": "#/components/responses/validation_failed",
            "description": null
          },
          "401": {
            "$ref": "#/components/responses/requires_authentication",
            "description": null
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error",
            "description": null
          }
        },
        "security": [
          {
            "OAuth2": [
              "write:user",
              "write:sales"
            ]
          }
        ]
      }
    },
    "/sales/{saleId}/etickets": {
      "get": {
        "tags": [
          "E-Tickets"
        ],
        "summary": "List e-tickets for a sale",
        "operationId": "ETicket_GetSaleETickets",
        "parameters": [
          {
            "name": "saleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Specifies which page of data to retrieve.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "description": "Set custom page sizes on response.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/ETickets"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/not_found",
            "description": null
          },
          "403": {
            "$ref": "#/components/responses/forbidden",
            "description": null
          },
          "401": {
            "$ref": "#/components/responses/requires_authentication",
            "description": null
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error",
            "description": null
          }
        },
        "security": [
          {
            "OAuth2": [
              "read:user",
              "read:sales"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "E-Tickets"
        ],
        "summary": "Upload and save e-tickets for a sale",
        "operationId": "ETicket_PostSaleETickets",
        "parameters": [
          {
            "name": "saleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Sale"
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/forbidden",
            "description": null
          },
          "400": {
            "$ref": "#/components/responses/validation_failed",
            "description": null
          },
          "401": {
            "$ref": "#/components/responses/requires_authentication",
            "description": null
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error",
            "description": null
          }
        },
        "security": [
          {
            "OAuth2": [
              "write:user",
              "write:sales"
            ]
          }
        ]
      }
    },
    "/sales/{saleId}/etickets/{eticketId}": {
      "delete": {
        "tags": [
          "E-Tickets"
        ],
        "summary": "Delete e-ticket from a sale",
        "operationId": "ETicket_DeleteSaleETicket",
        "parameters": [
          {
            "name": "saleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "eticketId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": null
          },
          "403": {
            "$ref": "#/components/responses/forbidden",
            "description": null
          },
          "401": {
            "$ref": "#/components/responses/requires_authentication",
            "description": null
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error",
            "description": null
          }
        },
        "security": [
          {
            "OAuth2": [
              "write:user",
              "write:sales"
            ]
          }
        ]
      }
    },
    "/sales/recentupdates": {
      "get": {
        "tags": [
          "Sales"
        ],
        "summary": "List sales (recent updates)",
        "description": "List sales for the authenticated user that have been created or updated over a certain period of time.",
        "operationId": "Sales_GetSalesRecentUpdates",
        "parameters": [
          {
            "name": "updated_since",
            "in": "query",
            "description": "Filters the response to only return items that have been updated since the given timestamp",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Sales"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/not_found",
            "description": null
          },
          "403": {
            "$ref": "#/components/responses/forbidden",
            "description": null
          },
          "401": {
            "$ref": "#/components/responses/requires_authentication",
            "description": null
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error",
            "description": null
          }
        },
        "security": [
          {
            "OAuth2": [
              "read:user",
              "read:sales"
            ]
          }
        ]
      }
    },
    "/sales": {
      "get": {
        "tags": [
          "Sales"
        ],
        "summary": "List sales",
        "description": "List sales for the authenticated user.",
        "operationId": "Sales_GetSales",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Specifies which page of data to retrieve.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "description": "Set custom page sizes on response.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "updated_since",
            "in": "query",
            "description": "Filters the response to only return items that have been updated since the given timestamp",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Determines the ordering of items. A comma-separated string containing `created_at`, `event_date`, `inhand_at`, `payment_amount`, `quantity`, or`resource_version`.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Sales"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/not_found",
            "description": null
          },
          "403": {
            "$ref": "#/components/responses/forbidden",
            "description": null
          },
          "401": {
            "$ref": "#/components/responses/requires_authentication",
            "description": null
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error",
            "description": null
          }
        },
        "security": [
          {
            "OAuth2": [
              "read:user",
              "read:sales"
            ]
          }
        ]
      }
    },
    "/sales/{saleId}": {
      "get": {
        "tags": [
          "Sales"
        ],
        "summary": "Get a sale",
        "operationId": "Sales_Get",
        "parameters": [
          {
            "name": "saleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Sale"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/not_found",
            "description": null
          },
          "403": {
            "$ref": "#/components/responses/forbidden",
            "description": null
          },
          "401": {
            "$ref": "#/components/responses/requires_authentication",
            "description": null
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error",
            "description": null
          }
        },
        "security": [
          {
            "OAuth2": [
              "read:user",
              "read:sales"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "Sales"
        ],
        "summary": "Update a sale",
        "operationId": "Sales_Patch",
        "parameters": [
          {
            "name": "saleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "x-name": "body",
          "content": {
            "application/json": {
              "schema": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/PatchSaleRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Sale"
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/forbidden",
            "description": null
          },
          "400": {
            "$ref": "#/components/responses/validation_failed",
            "description": null
          },
          "401": {
            "$ref": "#/components/responses/requires_authentication",
            "description": null
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error",
            "description": null
          }
        },
        "security": [
          {
            "OAuth2": [
              "write:user",
              "write:sales"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Sales"
        ],
        "summary": "Reject a sale",
        "description": "Report a problem with a sale of tickets.",
        "operationId": "Sales_Delete",
        "parameters": [
          {
            "name": "saleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": null
          },
          "403": {
            "$ref": "#/components/responses/forbidden",
            "description": null
          },
          "401": {
            "$ref": "#/components/responses/requires_authentication",
            "description": null
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error",
            "description": null
          }
        },
        "security": [
          {
            "OAuth2": [
              "write:user",
              "write:sales"
            ]
          }
        ]
      }
    },
    "/payments": {
      "get": {
        "tags": [
          "Payments"
        ],
        "summary": "List payments",
        "description": "Lists payments for the authenticated user.",
        "operationId": "Payments_GetPayments",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/not_found",
            "description": null
          },
          "403": {
            "$ref": "#/components/responses/forbidden",
            "description": null
          },
          "401": {
            "$ref": "#/components/responses/requires_authentication",
            "description": null
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error",
            "description": null
          }
        },
        "security": [
          {
            "OAuth2": [
              "read:user",
              "read:payment"
            ]
          }
        ]
      }
    },
    "/payments/{paymentId}": {
      "get": {
        "tags": [
          "Payments"
        ],
        "summary": "Get a payment",
        "operationId": "Payments_Get",
        "parameters": [
          {
            "name": "paymentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Payment"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/not_found",
            "description": null
          },
          "403": {
            "$ref": "#/components/responses/forbidden",
            "description": null
          },
          "401": {
            "$ref": "#/components/responses/requires_authentication",
            "description": null
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error",
            "description": null
          }
        },
        "security": [
          {
            "OAuth2": [
              "read:user",
              "read:payment"
            ]
          }
        ]
      }
    },
    "/payments/next": {
      "get": {
        "tags": [
          "Payments"
        ],
        "summary": "Preview next payment",
        "description": "Previews the next payment for the authenticated user. The payment will not have an `id` and is subject to changes.",
        "operationId": "Payments_GetNextPayment",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Payment"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/not_found",
            "description": null
          },
          "403": {
            "$ref": "#/components/responses/forbidden",
            "description": null
          },
          "401": {
            "$ref": "#/components/responses/requires_authentication",
            "description": null
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error",
            "description": null
          }
        },
        "security": [
          {
            "OAuth2": [
              "read:user",
              "read:payment"
            ]
          }
        ]
      }
    },
    "/etickets/{eticketId}/thumbnail": {
      "get": {
        "tags": [
          "E-Tickets"
        ],
        "summary": "Get e-ticket thumbnail file",
        "description": "Download an image file containing a thumbnail of an E-Ticket",
        "operationId": "ETicketDocument_GetETicketThumbnail",
        "parameters": [
          {
            "name": "eticketId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/not_found",
            "description": null
          },
          "403": {
            "$ref": "#/components/responses/forbidden",
            "description": null
          },
          "401": {
            "$ref": "#/components/responses/requires_authentication",
            "description": null
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error",
            "description": null
          }
        },
        "security": [
          {
            "OAuth2": [
              "read:user"
            ]
          }
        ]
      }
    },
    "/eticketuploads/{eticketUploadId}/document": {
      "get": {
        "tags": [
          "E-Tickets"
        ],
        "summary": "Get e-ticket upload file",
        "description": "Download the original file that was uploaded.",
        "operationId": "ETicketDocument_GetETicketUploadDocument",
        "parameters": [
          {
            "name": "eticketUploadId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/not_found",
            "description": null
          },
          "403": {
            "$ref": "#/components/responses/forbidden",
            "description": null
          },
          "401": {
            "$ref": "#/components/responses/requires_authentication",
            "description": null
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error",
            "description": null
          }
        },
        "security": [
          {
            "OAuth2": [
              "read:user"
            ]
          }
        ]
      }
    },
    "/etickets/{eticketId}/document": {
      "get": {
        "tags": [
          "E-Tickets"
        ],
        "summary": "Get e-ticket file",
        "description": "Download a PDF file containing an E-Ticket.",
        "operationId": "ETicketDocument_GetETicketDocument",
        "parameters": [
          {
            "name": "eticketId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/not_found",
            "description": null
          },
          "403": {
            "$ref": "#/components/responses/forbidden",
            "description": null
          },
          "401": {
            "$ref": "#/components/responses/requires_authentication",
            "description": null
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error",
            "description": null
          }
        },
        "security": [
          {
            "OAuth2": [
              "read:user"
            ]
          }
        ]
      }
    },
    "/sales/{saleId}/ticketholders": {
      "get": {
        "tags": [
          "TicketHolders"
        ],
        "summary": "List ticket holder details for a sale",
        "operationId": "TicketHolders_GetSaleTicketHolderDetails",
        "parameters": [
          {
            "name": "saleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/TicketHolder"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/not_found",
            "description": null
          },
          "403": {
            "$ref": "#/components/responses/forbidden",
            "description": null
          },
          "401": {
            "$ref": "#/components/responses/requires_authentication",
            "description": null
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error",
            "description": null
          }
        },
        "security": [
          {
            "OAuth2": [
              "read:user",
              "read:sales"
            ]
          }
        ]
      }
    },
    "/sales/{saleId}/transferstatusproof": {
      "post": {
        "tags": [
          "TransferStatusProof"
        ],
        "summary": "Upload transfer status proof for a sale",
        "description": "Transfer status proof can be either json or html, and supported fulfillmentEvents are one of TransferCreated, TransferActive, TransferAccepted, TransferCancelled",
        "operationId": "Sales_UploadTransferStatusProof",
        "parameters": [
          {
            "name": "saleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "fulfillmentEvent",
            "in": "query",
            "description": "The fulfillment event type. One of: TransferCreated, TransferActive, TransferAccepted, TransferCancelled",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "TransferCreated",
                "TransferActive",
                "TransferAccepted",
                "TransferCancelled"
              ]
            }
          }
        ],
        "requestBody": {
          "description": "The transfer status proof file (json or html)",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "text/html": {
              "schema": {
                "type": "string"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/TransferStatusProof"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/validation_failed",
            "description": null
          },
          "401": {
            "$ref": "#/components/responses/requires_authentication",
            "description": null
          },
          "403": {
            "$ref": "#/components/responses/forbidden",
            "description": null
          },
          "404": {
            "$ref": "#/components/responses/not_found",
            "description": null
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error",
            "description": null
          }
        },
        "security": [
          {
            "OAuth2": [
              "write:user",
              "write:sales"
            ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "Error": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "errors": {
            "type": "object",
            "nullable": true,
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        }
      },
      "Shipments": {
        "type": "object",
        "description": "The Shipments resource is a collection resource that contains zero or\nmore references to a set of shipments, and links that guide you on ways\nto interact with the shipments. The collection offers a paginated view\nof shipments.",
        "additionalProperties": false,
        "properties": {
          "total_items": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "_links": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ShipmentsLinks"
              }
            ]
          },
          "_embedded": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ShipmentsEmbeddedResources"
              }
            ]
          }
        }
      },
      "ShipmentsLinks": {
        "title": "ShipmentsLinks",
        "type": "object",
        "properties": {
          "self": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "first": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "last": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "next": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "prev": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "shipment:create": {
            "description": "Creates a new shipment for the ticket(s).",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          }
        }
      },
      "Link": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "href": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "templated": {
            "type": "boolean"
          }
        }
      },
      "ShipmentsEmbeddedResources": {
        "title": "ShipmentsEmbeddedResources",
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Shipment"
            }
          }
        }
      },
      "Shipment": {
        "type": "object",
        "description": "A shipment of one or more tickets by a seller.",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The shipment identifier.",
            "format": "int32"
          },
          "tracking_number": {
            "type": "string",
            "description": "The identifier used to track the shipment of the ticket(s).",
            "nullable": true
          },
          "delivery_address": {
            "description": "The address that the seller must ship the tickets to.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Address"
              }
            ]
          },
          "_links": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ShipmentLinks"
              }
            ]
          },
          "_embedded": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ShipmentEmbeddedResources"
              }
            ]
          }
        }
      },
      "Address": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "full_name": {
            "type": "string",
            "nullable": true
          },
          "address_1": {
            "type": "string",
            "nullable": true
          },
          "address_2": {
            "type": "string",
            "nullable": true
          },
          "address_3": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state_province": {
            "type": "string",
            "nullable": true
          },
          "postal_code": {
            "type": "string",
            "nullable": true
          },
          "country_code": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ShipmentLinks": {
        "title": "ShipmentLinks",
        "type": "object",
        "properties": {
          "self": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "shipment:entertrackingnumber": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "shipment:label": {
            "description": "A courier shipping label.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          }
        }
      },
      "ShipmentEmbeddedResources": {
        "title": "ShipmentEmbeddedResources",
        "type": "object",
        "properties": {
          "delivery_method": {
            "description": "The delivery method for the ticket(s).",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/EmbeddedDeliveryMethod"
              }
            ]
          },
          "pickup_addresses": {
            "type": "array",
            "description": "The addresses where courier pickups could be arranged.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Address2"
            }
          },
          "pickups": {
            "type": "array",
            "description": "The courier pickups that have been scheduled.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Pickup"
            }
          },
          "shipment_state": {
            "description": "The shipment state",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/StateInformation"
              }
            ]
          }
        }
      },
      "EmbeddedDeliveryMethod": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The delivery method identifier.",
            "format": "int32"
          },
          "type": {
            "description": "The type of delivery method. Can be ETicket, Post or Pickup.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/DeliveryMethodType"
              }
            ]
          },
          "name": {
            "type": "string",
            "description": "The localised name of the delivery method.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The localised description of the delivery method.",
            "nullable": true
          },
          "_links": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/EmbeddedDeliveryMethodLinks"
              }
            ]
          }
        }
      },
      "DeliveryMethodType": {
        "type": "integer",
        "description": "",
        "x-enumNames": [
          "Other",
          "Post",
          "Pickup",
          "ETicket"
        ],
        "enum": [
          0,
          1,
          2,
          3
        ]
      },
      "EmbeddedDeliveryMethodLinks": {
        "title": "EmbeddedDeliveryMethodLinks",
        "type": "object",
        "properties": {
          "self": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "deliverymethod:logo": {
            "description": "An image file containing the logo for the delivery method.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          }
        }
      },
      "Address2": {
        "type": "object",
        "description": "An address is a delivery, pickup or billing address associated with the current user.",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The address identifier.",
            "format": "int32",
            "nullable": true
          },
          "full_name": {
            "type": "string",
            "description": "The full name of the recipient.",
            "nullable": true
          },
          "default": {
            "type": "boolean",
            "description": "True if the address is the user’s default address; Otherwise, false.",
            "nullable": true
          },
          "address_1": {
            "type": "string",
            "description": "The first line of the address.",
            "nullable": true
          },
          "address_2": {
            "type": "string",
            "description": "The second line of the address.",
            "nullable": true
          },
          "address_3": {
            "type": "string",
            "description": "The third line of the address.",
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "The name of the city where the address is located.",
            "nullable": true
          },
          "state_province": {
            "type": "string",
            "description": "The name of the State or Province where the address is located.",
            "nullable": true
          },
          "postal_code": {
            "type": "string",
            "description": "The postal code for the address.",
            "nullable": true
          },
          "_links": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/AddressLinks"
              }
            ]
          },
          "_embedded": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/AddressEmbeddedResources"
              }
            ]
          }
        }
      },
      "AddressLinks": {
        "title": "AddressLinks",
        "type": "object",
        "properties": {
          "self": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "address:carrier": {
            "description": "The pickup windows available for Carrier collection.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "address:delete": {
            "description": "Delete the current user’s address.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "address:update": {
            "description": "Update the details of the current user’s address.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          }
        }
      },
      "AddressEmbeddedResources": {
        "title": "AddressEmbeddedResources",
        "type": "object",
        "properties": {
          "country": {
            "description": "The Country where the address is located.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Country"
              }
            ]
          }
        }
      },
      "Country": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "string",
            "description": "The two-letter ISO 3166 code for the country.",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The name of the country.",
            "nullable": true
          },
          "_links": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CountryLinks"
              }
            ]
          }
        }
      },
      "CountryLinks": {
        "title": "CountryLinks",
        "type": "object",
        "properties": {
          "self": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "country:events": {
            "description": "The events taking place in a country.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "country:localwebpage": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          }
        }
      },
      "Pickup": {
        "type": "object",
        "description": "A scheduled courier pickup for a package.",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The pickup identifier.",
            "format": "int32"
          },
          "start_date": {
            "type": "string",
            "description": "The earliest date that the courier will pickup the package.",
            "format": "date-time"
          },
          "end_date": {
            "type": "string",
            "description": "The latest date that the courier will pickup the package.",
            "format": "date-time"
          },
          "address": {
            "description": "The address where the courier will pickup the package.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Address"
              }
            ]
          },
          "_links": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/PickupLinks"
              }
            ]
          },
          "_embedded": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/PickupEmbeddedResources"
              }
            ]
          }
        }
      },
      "PickupLinks": {
        "title": "PickupLinks",
        "type": "object",
        "properties": {
          "self": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "pickup:delete": {
            "description": "Delete/Cancel a courier pickup",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          }
        }
      },
      "PickupEmbeddedResources": {
        "title": "PickupEmbeddedResources",
        "type": "object",
        "properties": {
          "carrier": {
            "description": "A carrier (e.g. UPS) that will collect tickets that are to be delivered.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Carrier"
              }
            ]
          }
        }
      },
      "Carrier": {
        "type": "object",
        "description": "A carrier (e.g. UPS) that will collect tickets that are to be delivered.",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The carrier identifier.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "The name of the carrier.",
            "nullable": true
          },
          "pickup_windows": {
            "type": "array",
            "description": "The windows available for ticket collection.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/PickupWindow"
            }
          },
          "_links": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CarrierLinks"
              }
            ]
          }
        }
      },
      "PickupWindow": {
        "type": "object",
        "description": "Represents a window of time when a courier pickup can be arranged.",
        "additionalProperties": false,
        "properties": {
          "start_date": {
            "type": "string",
            "description": "The date when the window starts.",
            "format": "date-time"
          },
          "end_date": {
            "type": "string",
            "description": "The date when the window ends.",
            "format": "date-time"
          }
        }
      },
      "CarrierLinks": {
        "title": "CarrierLinks",
        "type": "object",
        "properties": {
          "self": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "carrier:createpickup": {
            "description": "Creates a new pickup for the ticket(s).",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          }
        }
      },
      "StateInformation": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "PatchShipmentRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "tracking_number": {
            "type": "string",
            "description": "The identifier used to track the shipment of the ticket(s).",
            "nullable": true
          }
        }
      },
      "ETicketUploads": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "total_items": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "_links": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ETicketUploadsLinks"
              }
            ]
          },
          "_embedded": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ETicketUploadsEmbeddedResources"
              }
            ]
          }
        }
      },
      "ETicketUploadsLinks": {
        "title": "ETicketUploadsLinks",
        "type": "object",
        "properties": {
          "self": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "first": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "last": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "next": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "prev": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          }
        }
      },
      "ETicketUploadsEmbeddedResources": {
        "title": "ETicketUploadsEmbeddedResources",
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ETicketUpload"
            }
          }
        }
      },
      "ETicketUpload": {
        "type": "object",
        "description": "Represents an uploaded file that contains one or more E-Tickets.",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The identifier of the upload.",
            "format": "int32"
          },
          "file_name": {
            "type": "string",
            "description": "The name of the file that was uploaded.",
            "nullable": true
          },
          "processed_at": {
            "type": "string",
            "description": "The date when all of the E-Tickets in the uploaded file were processed.",
            "format": "date-time"
          },
          "original_number_of_etickets": {
            "type": "integer",
            "description": "The original number of E-Tickets contained in the uploaded file.",
            "format": "int32"
          },
          "status_description": {
            "type": "string",
            "description": "A localised in-depth description of the current status of the upload.",
            "nullable": true
          },
          "_links": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ETicketUploadLinks"
              }
            ]
          },
          "_embedded": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ETicketUploadEmbeddedResources"
              }
            ]
          }
        }
      },
      "ETicketUploadLinks": {
        "title": "ETicketUploadLinks",
        "type": "object",
        "properties": {
          "self": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "eticketupload:document": {
            "description": "The original file that was uploaded.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          }
        }
      },
      "ETicketUploadEmbeddedResources": {
        "title": "ETicketUploadEmbeddedResources",
        "type": "object",
        "properties": {
          "etickets": {
            "type": "array",
            "description": "An array of the individual E-Tickets contained in the uploaded files.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ETicket"
            }
          }
        }
      },
      "ETicket": {
        "type": "object",
        "description": "An electronic ticket that has been uploaded for a listing or a sale.",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The identifier of the E-Ticket.",
            "format": "int32"
          },
          "_links": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ETicketLinks"
              }
            ]
          }
        }
      },
      "ETicketLinks": {
        "title": "ETicketLinks",
        "type": "object",
        "properties": {
          "self": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "eticket:delete": {
            "description": "Delete this E-Ticket.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "eticket:document": {
            "description": "A PDF file containing the E-Ticket.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "eticket:thumbnail": {
            "description": "An image file containing a thumbnail of the E-Ticket.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          }
        }
      },
      "ETickets": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "total_items": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "_links": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ETicketsLinks"
              }
            ]
          },
          "_embedded": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ETicketsEmbeddedResources"
              }
            ]
          }
        }
      },
      "ETicketsLinks": {
        "title": "ETicketsLinks",
        "type": "object",
        "properties": {
          "self": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "first": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "last": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "next": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "prev": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          }
        }
      },
      "ETicketsEmbeddedResources": {
        "title": "ETicketsEmbeddedResources",
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ETicket"
            }
          }
        }
      },
      "Sale": {
        "type": "object",
        "description": "A sale on the viagogo marketplace that belongs to the currently authenticated user.",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The sale identifier.",
            "format": "int32",
            "nullable": true
          },
          "created_at": {
            "type": "string",
            "description": "The date when the sale was created.",
            "format": "date-time",
            "nullable": true
          },
          "seating": {
            "description": "The seating information for the ticket(s) that have been sold.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Seating"
              }
            ]
          },
          "proceeds": {
            "description": "The total amount that the seller will receive for the sale.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Money"
              }
            ]
          },
          "number_of_tickets": {
            "type": "integer",
            "description": "The number of tickets that have been sold.",
            "format": "int32",
            "nullable": true
          },
          "status": {
            "type": "string",
            "description": "A short localised string describing the current status of the sale.",
            "nullable": true
          },
          "status_description": {
            "type": "string",
            "description": "A localised in-depth description of the current status of the sale.",
            "nullable": true
          },
          "display_proceeds": {
            "description": "The total amount that the seller will receive for the sale.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Money"
              }
            ]
          },
          "confirm_by": {
            "type": "string",
            "description": "The date by which the seller must confirm the sale.",
            "format": "date-time",
            "nullable": true
          },
          "ship_by": {
            "type": "string",
            "description": "The date by which the seller must ship the tickets.",
            "format": "date-time",
            "nullable": true
          },
          "external_listing_id": {
            "type": "string",
            "description": "The listing identifier assigned by an external system, typically generated by the seller's inventory management software.",
            "nullable": true
          },
          "is_legacy_stubhub_order": {
            "type": "boolean",
            "description": "Boolean value that is set to true for legacy stubhub orders."
          },
          "barcodes": {
            "type": "array",
            "description": "The barcode(s) for the ticket(s).",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/BarcodeInformation"
            }
          },
          "in_hand_at": {
            "type": "string",
            "description": "The date and time that the seller has the tickets 'in hand' to deliver to the buyer.",
            "format": "date-time",
            "nullable": true
          },
          "_links": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SaleLinks"
              }
            ]
          },
          "_embedded": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SaleEmbeddedResources"
              }
            ]
          }
        }
      },
      "Seating": {
        "type": "object",
        "description": "Represents the seating information for a ticket(s) in a Venue.",
        "additionalProperties": false,
        "required": [
          "section"
        ],
        "properties": {
          "section": {
            "type": "string",
            "description": "The section of the ticket(s).",
            "nullable": true
          },
          "row": {
            "type": "string",
            "description": "The row of the ticket(s).",
            "nullable": true
          },
          "seat_from": {
            "type": "string",
            "description": "The first in a contiguous block of seats to which the tickets have been allocated.",
            "nullable": true
          },
          "seat_to": {
            "type": "string",
            "description": "The last in a contiguous block of seats to which the tickets have been allocated.",
            "nullable": true
          }
        }
      },
      "Money": {
        "type": "object",
        "description": "Returned for monetary values, such as ticket prices, fees charged and tax amounts.",
        "additionalProperties": false,
        "required": [
          "amount",
          "currency_code"
        ],
        "properties": {
          "amount": {
            "type": "number",
            "description": "The decimal amount of the money.",
            "format": "decimal",
            "nullable": true
          },
          "currency_code": {
            "type": "string",
            "description": "The ISO 4217 currency code that the monetary value is represented in.",
            "nullable": true
          },
          "display": {
            "type": "string",
            "description": "A user-friendly string representing the monetary value.",
            "nullable": true
          }
        }
      },
      "BarcodeInformation": {
        "type": "object",
        "description": "A set of barcodes for a seat.",
        "additionalProperties": false,
        "properties": {
          "seat_ordinal": {
            "type": "integer",
            "description": "An ordinal number for a seat.",
            "format": "int32",
            "nullable": true
          },
          "seat": {
            "type": "string",
            "description": "Seat number.",
            "nullable": true
          },
          "row": {
            "type": "string",
            "description": "Row of ticket.",
            "nullable": true
          },
          "status": {
            "type": "string",
            "description": "Status of the barcode. Can be `Received` or `FailedValidation`",
            "nullable": true
          },
          "barcode_values": {
            "type": "array",
            "description": "Barcode(s) values for this seat.",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        }
      },
      "SaleLinks": {
        "title": "SaleLinks",
        "type": "object",
        "properties": {
          "self": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "sale:accounttransfer": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "sale:autotrackshipment": {
            "description": "The webpage where a shipment of tickets can be tracked automatically.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "sale:changepapertickettoeticket": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "sale:confirm": {
            "description": "Confirm the sale.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "sale:confirmaccounttransferpassword": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "sale:contactuswebpage": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "sale:etickets": {
            "description": "The uploaded E-Tickets that have been assigned to the tickets that have been sold.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "sale:eticketuploads": {
            "description": "The uploaded files containing E-Tickets that have not been assigned to the tickets that have been sold.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "sale:listing": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "sale:recordretransferfailurereason": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "sale:regenerateaccounttransferpassword": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "sale:reject": {
            "description": "Report a problem with the sale.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "sale:retransferfailurereasons": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "sale:saveetickets": {
            "description": "Assign uploaded E-Tickets to the tickets that have been sold.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "sale:savetransferreceipts": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "sale:shipments": {
            "description": "The shipments related to a sale.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "sale:ticketholders": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "sale:trackshipment": {
            "description": "The webpage where a shipment of tickets can be tracked after entering the tracking_number.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "sale:transferreceiptuploads": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "sale:uploadetickets": {
            "description": "Upload a file containing E-Tickets.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "sale:uploadeticketurls": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "sale:uploadtransferreceipts": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "sale:webpage": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          }
        }
      },
      "SaleEmbeddedResources": {
        "title": "SaleEmbeddedResources",
        "type": "object",
        "properties": {
          "delivery_method": {
            "description": "The delivery method for the ticket(s).",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/EmbeddedDeliveryMethod"
              }
            ]
          },
          "event": {
            "description": "The event for this sale.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/EmbeddedEvent"
              }
            ]
          },
          "ticket_type": {
            "description": "The type of ticket(s) that was sold.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/TicketType"
              }
            ]
          },
          "ticketholders": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/TicketHolder"
            }
          },
          "venue": {
            "description": "The venue where the event is taking place.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/EmbeddedVenue"
              }
            ]
          }
        }
      },
      "EmbeddedEvent": {
        "type": "object",
        "description": "An event on the viagogo platform.",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The event identifier.",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The name of the event.",
            "nullable": true
          },
          "start_date": {
            "type": "string",
            "description": "The date when the event starts.",
            "format": "date-time",
            "nullable": true
          },
          "end_date": {
            "type": "string",
            "description": "The date when the event ends.",
            "format": "date-time",
            "nullable": true
          },
          "on_sale_date": {
            "type": "string",
            "description": "The date when tickets for the event will go onsale.",
            "format": "date-time",
            "nullable": true
          },
          "date_confirmed": {
            "type": "boolean",
            "description": "True if the event start and end date have been confirmed; Otherwise, false.",
            "nullable": true
          },
          "merged_events": {
            "type": "array",
            "description": "The list of event ids that are merged into this event.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/MergedEntity"
            }
          },
          "_links": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/EmbeddedEventLinks"
              }
            ]
          }
        }
      },
      "MergedEntity": {
        "type": "object",
        "description": "An entity that has been merged into another entity.",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The identifier for this entity.",
            "format": "int32"
          }
        }
      },
      "EmbeddedEventLinks": {
        "title": "EmbeddedEventLinks",
        "type": "object",
        "properties": {
          "self": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          }
        }
      },
      "TicketType": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "_links": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/TicketTypeLinks"
              }
            ]
          }
        }
      },
      "TicketTypeLinks": {
        "title": "TicketTypeLinks",
        "type": "object",
        "properties": {
          "self": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          }
        }
      },
      "TicketHolder": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "full_name": {
            "type": "string",
            "nullable": true
          },
          "date_of_birth": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "city_of_birth": {
            "type": "string",
            "nullable": true
          },
          "province_of_birth": {
            "type": "string",
            "nullable": true
          },
          "city_of_residence": {
            "type": "string",
            "nullable": true
          },
          "province_of_residence": {
            "type": "string",
            "nullable": true
          },
          "club_issuer": {
            "type": "string",
            "nullable": true
          },
          "card_number": {
            "type": "string",
            "nullable": true
          },
          "document_type": {
            "type": "string",
            "nullable": true
          },
          "document_number": {
            "type": "string",
            "nullable": true
          },
          "fiscal_code": {
            "type": "string",
            "nullable": true
          },
          "security_code": {
            "type": "string",
            "nullable": true
          },
          "generic_answer": {
            "type": "string",
            "nullable": true
          },
          "email_address": {
            "type": "string",
            "nullable": true
          },
          "_links": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/TicketHolderLinks"
              }
            ]
          },
          "_embedded": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/TicketHolderEmbeddedResources"
              }
            ]
          }
        }
      },
      "TicketHolderLinks": {
        "title": "TicketHolderLinks",
        "type": "object",
        "properties": {
          "self": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          }
        }
      },
      "TicketHolderEmbeddedResources": {
        "title": "TicketHolderEmbeddedResources",
        "type": "object",
        "properties": {
          "document_issuing_country": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Country"
              }
            ]
          },
          "nationality_country": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Country"
              }
            ]
          }
        }
      },
      "EmbeddedVenue": {
        "type": "object",
        "description": "A venue is a location where an event takes place.",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The venue identifier.",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The name of the venue.",
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "The name of the city where the venue is located.",
            "nullable": true
          },
          "state_province": {
            "type": "string",
            "description": "The name of the State or Province where the venue is located.",
            "nullable": true
          },
          "latitude": {
            "type": "number",
            "description": "The latitude for the venue.",
            "format": "double",
            "nullable": true
          },
          "longitude": {
            "type": "number",
            "description": "The longitude for the venue.",
            "format": "double",
            "nullable": true
          },
          "_links": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/EmbeddedVenueLinks"
              }
            ]
          },
          "_embedded": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/EmbeddedVenueEmbeddedResources"
              }
            ]
          }
        }
      },
      "EmbeddedVenueLinks": {
        "title": "EmbeddedVenueLinks",
        "type": "object",
        "properties": {
          "self": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          }
        }
      },
      "EmbeddedVenueEmbeddedResources": {
        "title": "EmbeddedVenueEmbeddedResources",
        "type": "object",
        "properties": {
          "country": {
            "description": "The Country where the venue is located.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Country"
              }
            ]
          }
        }
      },
      "Sales": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "total_items": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "_links": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SalesLinks"
              }
            ]
          },
          "_embedded": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SalesEmbeddedResources"
              }
            ]
          }
        }
      },
      "SalesLinks": {
        "title": "SalesLinks",
        "type": "object",
        "properties": {
          "self": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "first": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "last": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "next": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          },
          "prev": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          }
        }
      },
      "SalesEmbeddedResources": {
        "title": "SalesEmbeddedResources",
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Sale"
            }
          }
        }
      },
      "PatchSaleRequest": {
        "type": "object",
        "description": "A sale on the viagogo marketplace that belongs to the currently authenticated user.",
        "additionalProperties": false,
        "properties": {
          "confirmed": {
            "type": "boolean",
            "description": "True when the sale should be confirmed; Otherwise, false.",
            "nullable": true
          },
          "eticket_ids": {
            "type": "array",
            "description": "A array of the identifiers of the E-Tickets or proof of transfer to be assigned to the sale.",
            "nullable": true,
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "transfer_confirmation_number": {
            "type": "string",
            "description": "Transfer confirmation number.",
            "nullable": true
          },
          "eticket_urls": {
            "type": "array",
            "description": "Urls with which the buyers can access the etickets.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ETicketUrlRequest"
            }
          },
          "change_paper_ticket_to_eticket": {
            "type": "boolean",
            "description": "True when the ticket(s) should be changed from paper to E-ticket; Otherwise, false.",
            "nullable": true
          },
          "confirm_same_day_shipment": {
            "type": "boolean",
            "description": "True when same-day shipment is confirmed; Otherwise, false",
            "nullable": true
          },
          "in_hand_at": {
            "type": "string",
            "description": "The date and time that the seller has the tickets 'in hand' to deliver to the buyer.",
            "format": "date-time",
            "nullable": true
          },
          "eticket_type": {
            "type": "string",
            "description": "The type of ticket(s) that was sold.",
            "nullable": true
          },
          "tracking_number": {
            "type": "string",
            "description": "Tacking number of the ticket shipment.",
            "nullable": true
          },
          "seating": {
            "description": "Any updated seating information about the tickets sold",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Seating"
              }
            ]
          },
          "barcodes": {
            "type": "array",
            "description": "The barcode(s) for the ticket(s).",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/BarcodeInformation2"
            }
          },
          "mobile_provider": {
            "type": "string",
            "description": "The vendor being used to transfer the mobile ticket.  Can be one of the following values:\nStubHub,\nViagogo,\nTicketmaster,\nAXS,\nSeatGeek,\nTicketmaster Account Manager,\nMLB Ballpark,\nMPV,\nPaciolan,\nTickets.com,\nTickets.com RDP,\nVivenu,\nTicketmaster CA,\nEventbrite,\nLivenation,\nBroadway,\nTelecharge,\nTicketon,\nSeetickets,\nEtix,\nTixr,\nFesticket,\nInsomniac,\nDiceImport,\nMGMResorts,\nTickeri,\nSmithCenterImport,\nStubwire,\nComputicket,",
            "nullable": true
          },
          "retransfer_failure_reason_record": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/RetransferFailureReasonRecordRequest"
              }
            ]
          },
          "account_transfer": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/AccountTransferRequest"
              }
            ]
          }
        }
      },
      "ETicketUrlRequest": {
        "type": "object",
        "description": "URL of E-Ticket.",
        "additionalProperties": false,
        "properties": {
          "url": {
            "type": "string",
            "description": "URL of E-Ticket.",
            "nullable": true
          },
          "index": {
            "type": "integer",
            "description": "Index of E-Ticket.",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "Reservation": {
        "type": "object",
        "description": "Reservation details of a sale or a listing.",
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "store": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ReservationStore"
              }
            ]
          },
          "expiry_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "release_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "pin": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ReservationStore": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "regex": {
            "type": "string",
            "nullable": true
          },
          "pin_required": {
            "type": "boolean"
          },
          "code_required": {
            "type": "boolean"
          }
        }
      },
      "BarcodeInformation2": {
        "type": "object",
        "description": "A set of barcodes for a seat.",
        "additionalProperties": false,
        "properties": {
          "seat_ordinal": {
            "type": "integer",
            "description": "An ordinal number for a seat.",
            "format": "int32",
            "nullable": true
          },
          "seat": {
            "type": "string",
            "description": "Seat number.",
            "nullable": true
          },
          "row": {
            "type": "string",
            "description": "Row of ticket.",
            "nullable": true
          },
          "barcode_values": {
            "type": "array",
            "description": "Barcode(s) values for this seat.",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        }
      },
      "PostAlternativeOfferRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "section": {
            "type": "string",
            "nullable": true
          },
          "row": {
            "type": "string",
            "nullable": true
          },
          "seat_from": {
            "type": "string",
            "nullable": true
          },
          "seat_to": {
            "type": "string",
            "nullable": true
          },
          "listing_note_ids": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "offered_compensation": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "offered_compensation_currency_code": {
            "type": "string",
            "nullable": true
          },
          "venue_section_config_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "venue_section_config_row_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "quantity": {
            "type": "integer",
            "format": "int32"
          },
          "ticket_type": {
            "type": "integer",
            "format": "int32"
          },
          "other_notes": {
            "type": "string",
            "nullable": true
          },
          "alternative_offer_state_id": {
            "type": "integer",
            "format": "int32"
          },
          "message_body": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "RetransferFailureReasonRecordRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "reason_id": {
            "type": "integer",
            "format": "int32"
          },
          "other_reason_text": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "AccountTransferRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "login_url": {
            "type": "string",
            "nullable": true
          },
          "username": {
            "type": "string",
            "nullable": true
          },
          "password": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "Payment": {
        "type": "object",
        "description": "A payment on the viagogo marketplace that belongs to the currently authenticated user.",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The payment identifier",
            "format": "int32",
            "nullable": true
          },
          "created_at": {
            "type": "string",
            "description": "Date when the payment was created.",
            "format": "date-time",
            "nullable": true
          },
          "number_of_sales": {
            "type": "integer",
            "description": "Total number of sales associated to the payment.",
            "format": "int32"
          },
          "payment_amount": {
            "description": "Net amount the user will receive in this payment.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Money"
              }
            ]
          },
          "credits": {
            "description": "Non-proceeds credits applied to the user's account, paid out in this payment.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Money"
              }
            ]
          },
          "charges": {
            "description": "Charges applied to the user's account, settled in this payment.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Money"
              }
            ]
          },
          "proceeds": {
            "description": "Money owed to the user from sale(s) of a ticket(s), paid out in this payment.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Money"
              }
            ]
          },
          "reference_numbers": {
            "type": "array",
            "description": "Reference numbers for the payment, can be multiple if the payment is split.",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "_links": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/PaymentLinks"
              }
            ]
          },
          "_embedded": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/PaymentEmbeddedResources"
              }
            ]
          }
        }
      },
      "PaymentLinks": {
        "title": "PaymentLinks",
        "type": "object",
        "properties": {
          "self": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          }
        }
      },
      "PaymentEmbeddedResources": {
        "title": "PaymentEmbeddedResources",
        "type": "object",
        "properties": {
          "payment_method": {
            "description": "Payment method that will be used for the payments or charges.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/EmbeddedPaymentMethod"
              }
            ]
          },
          "sales": {
            "type": "array",
            "description": "Sales associated with the payment.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/PaymentSale"
            }
          }
        }
      },
      "EmbeddedPaymentMethod": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "details": {
            "type": "string",
            "description": "The obfuscated details of the payment method",
            "nullable": true
          },
          "_links": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/EmbeddedPaymentMethodLinks"
              }
            ]
          }
        }
      },
      "EmbeddedPaymentMethodLinks": {
        "title": "EmbeddedPaymentMethodLinks",
        "type": "object",
        "properties": {
          "self": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          }
        }
      },
      "PaymentSale": {
        "type": "object",
        "description": "A sale related to a payment that belongs to the currently authenticated user.",
        "additionalProperties": false,
        "properties": {
          "proceeds": {
            "type": "array",
            "description": "Money owed to the user from this sale.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ChargeDetail"
            }
          },
          "charges": {
            "type": "array",
            "description": "Charges, related to this sale, that are applied to the user's account.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ChargeDetail"
            }
          },
          "credits": {
            "type": "array",
            "description": "Non-proceeds credits, related to this sale, that are applied to the user's account.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ChargeDetail"
            }
          },
          "_links": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/PaymentSaleLinks"
              }
            ]
          },
          "_embedded": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/PaymentSaleEmbeddedResources"
              }
            ]
          }
        }
      },
      "ChargeDetail": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "amount": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Money"
              }
            ]
          },
          "reason_description": {
            "type": "string",
            "nullable": true
          },
          "sale_id": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "PaymentSaleLinks": {
        "title": "PaymentSaleLinks",
        "type": "object",
        "properties": {
          "self": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          }
        }
      },
      "PaymentSaleEmbeddedResources": {
        "title": "PaymentSaleEmbeddedResources",
        "type": "object",
        "properties": {
          "event": {
            "description": "The event for this sale.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/EmbeddedEvent"
              }
            ]
          },
          "sale": {
            "description": "A sale associated with a payment.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/EmbeddedSale"
              }
            ]
          },
          "venue": {
            "description": "The venue where the event is taking place.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/EmbeddedVenue"
              }
            ]
          }
        }
      },
      "EmbeddedSale": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The sale identifier.",
            "format": "int32",
            "nullable": true
          },
          "created_at": {
            "type": "string",
            "description": "The date when the sale was created.",
            "format": "date-time",
            "nullable": true
          },
          "seating": {
            "description": "The seating information for the ticket(s) that have been sold.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Seating"
              }
            ]
          },
          "proceeds": {
            "description": "The total amount that the seller will receive for the sale.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Money"
              }
            ]
          },
          "number_of_tickets": {
            "type": "integer",
            "description": "The number of tickets that have been sold.",
            "format": "int32",
            "nullable": true
          },
          "_links": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/EmbeddedSaleLinks"
              }
            ]
          }
        }
      },
      "EmbeddedSaleLinks": {
        "title": "EmbeddedSaleLinks",
        "type": "object",
        "properties": {
          "self": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Link"
              }
            ]
          }
        }
      },
      "TransferStatusProof": {
        "type": "object",
        "description": "Represents a simple resource that contains upload file guid.",
        "properties": {
          "document_id": {
            "type": "string",
            "format": "uuid",
            "description": "The identifier of the upload."
          },
          "_links": {
            "type": "object",
            "nullable": true
          }
        }
      }
    },
    "responses": {
      "requires_authentication": {
        "description": "Authentication credentials were missing or incorrect.",
        "content": {
          "application/hal+json": {
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Error"
                }
              ]
            }
          }
        }
      },
      "not_found": {
        "description": "The URI requested is invalid or the resource requested, such as an event, does not exist.",
        "content": {
          "application/hal+json": {
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Error"
                }
              ]
            }
          }
        }
      },
      "forbidden": {
        "description": "The request is understood, but it has been refused or access is not allowed. An accompanying error message will explain why.",
        "content": {
          "application/hal+json": {
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Error"
                }
              ]
            }
          }
        }
      },
      "internal_server_error": {
        "description": "Internal server error",
        "content": {
          "application/hal+json": {
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Error"
                }
              ]
            }
          }
        }
      },
      "validation_failed": {
        "description": "The request data is not valid. errors will contain an object with a localized message that describes the validation error for each property of the data.",
        "content": {
          "application/hal+json": {
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Error"
                }
              ]
            }
          }
        }
      }
    },
    "parameters": {
      "fields": {
        "in": "query",
        "description": "A comma-separated list of the name(s) of the field(s) to be returned."
      },
      "embed": {
        "in": "query",
        "description": "Optional embedded resources are only included in a resource when your application includes the embedded property name(s) as a comma-separated value in the embed parameter."
      }
    },
    "headers": {
      "Content-Language": {
        "schema": {
          "type": "string"
        },
        "example": "en-US"
      },
      "Content-Type": {
        "schema": {
          "type": "string"
        },
        "example": "application/hal+json"
      },
      "VGG-Topic": {
        "description": "Name of the topic that triggered this delivery",
        "schema": {
          "type": "string"
        },
        "example": "Ping"
      },
      "VGG-DeliveryId": {
        "description": "Unique identifier for this delivery",
        "schema": {
          "type": "string"
        },
        "example": "1993433"
      }
    },
    "securitySchemes": {
      "OAuth2": {
        "type": "oauth2",
        "bearerFormat": "JWT",
        "flows": {
          "implicit": {
            "authorizationUrl": "https://account.viagogo.com/authorize",
            "tokenUrl": "https://account.viagogo.com/oauth2/token",
            "refreshUrl": "https://account.viagogo.com/oauth2/token"
          },
          "clientCredentials": {
            "tokenUrl": "https://account.viagogo.com/oauth2/token"
          },
          "authorizationCode": {
            "authorizationUrl": "https://account.viagogo.com/authorize",
            "tokenUrl": "https://account.viagogo.com/oauth2/token",
            "refreshUrl": "https://account.viagogo.com/oauth2/token"
          }
        }
      }
    }
  },
  "security": [
    {
      "OAuth2": [
        "read:payment",
        "read:sales",
        "read:sellerlistings",
        "read:user",
        "write:purchases",
        "write:sales",
        "write:sellerlistings",
        "write:user"
      ]
    }
  ],
  "tags": [
    {
      "name": "BasicType_Money",
      "description": "Returned for monetary values, such as ticket prices, fees charged and tax amounts.\n<SchemaDefinition schemaRef=\"#/components/schemas/Money\" showReadOnly={true} showWriteOnly={true} />",
      "x-displayName": "Money"
    },
    {
      "name": "E-Tickets"
    },
    {
      "name": "Payments"
    },
    {
      "name": "Resource_ETickets",
      "description": "\n<SchemaDefinition schemaRef=\"#/components/schemas/ETickets\" showReadOnly={true} showWriteOnly={true} />",
      "x-displayName": "ETickets"
    },
    {
      "name": "Resource_ETicketUploads",
      "description": "\n<SchemaDefinition schemaRef=\"#/components/schemas/ETicketUploads\" showReadOnly={true} showWriteOnly={true} />",
      "x-displayName": "ETicketUploads"
    },
    {
      "name": "Resource_Payment",
      "description": "A payment on the viagogo marketplace that belongs to the currently authenticated user.\n<SchemaDefinition schemaRef=\"#/components/schemas/Payment\" showReadOnly={true} showWriteOnly={true} />",
      "x-displayName": "Payment"
    },
    {
      "name": "Resource_Sale",
      "description": "A sale on the viagogo marketplace that belongs to the currently authenticated user.\n<SchemaDefinition schemaRef=\"#/components/schemas/Sale\" showReadOnly={true} showWriteOnly={true} />",
      "x-displayName": "Sale"
    },
    {
      "name": "Resource_Sales",
      "description": "\n<SchemaDefinition schemaRef=\"#/components/schemas/Sales\" showReadOnly={true} showWriteOnly={true} />",
      "x-displayName": "Sales"
    },
    {
      "name": "Resource_Shipment",
      "description": "A shipment of one or more tickets by a seller.\n<SchemaDefinition schemaRef=\"#/components/schemas/Shipment\" showReadOnly={true} showWriteOnly={true} />",
      "x-displayName": "Shipment"
    },
    {
      "name": "Resource_Shipments",
      "description": "The Shipments resource is a collection resource that contains zero or\nmore references to a set of shipments, and links that guide you on ways\nto interact with the shipments. The collection offers a paginated view\nof shipments.\n<SchemaDefinition schemaRef=\"#/components/schemas/Shipments\" showReadOnly={true} showWriteOnly={true} />",
      "x-displayName": "Shipments"
    },
    {
      "name": "Resource_TicketHolder",
      "description": "\n<SchemaDefinition schemaRef=\"#/components/schemas/TicketHolder\" showReadOnly={true} showWriteOnly={true} />",
      "x-displayName": "TicketHolder"
    },
    {
      "name": "Sales",
      "description": "View your sales details and fulfill your sales."
    },
    {
      "name": "Shipments"
    },
    {
      "name": "TicketHolders"
    },
    {
      "name": "TransferStatusProof"
    },
    {
      "name": "Resource_TransferStatusProof",
      "description": "\n<SchemaDefinition schemaRef=\"#/components/schemas/TransferStatusProof\" showReadOnly={true} showWriteOnly={true} />",
      "x-displayName": "TransferStatusProof"
    }
  ],
  "x-tagGroups": [
    {
      "name": "Endpoints",
      "tags": [
        "Sales",
        "E-Tickets",
        "Payments",
        "Shipments",
        "TicketHolders",
        "TransferStatusProof"
      ]
    },
    {
      "name": "Basic Types",
      "tags": [
        "BasicType_Money"
      ]
    },
    {
      "name": "Resources",
      "tags": [
        "Resource_ETickets",
        "Resource_ETicketUploads",
        "Resource_Payment",
        "Resource_Sale",
        "Resource_Sales",
        "Resource_Shipment",
        "Resource_Shipments",
        "Resource_TicketHolder",
        "Resource_TransferStatusProof"
      ]
    }
  ]
}
