Inventory / Index
Name | Inventory Index |
|---|---|
Description | Returns information for all of the inventory an Office has sent to TEvo |
Type |
|
URL |
|
| |
Cursor Pagination |
Long Description
Returns information for all of the inventory an Office has sent to TEvo.
By default, the endpoint returns a minimal payload (id, remote_id, event_id) per record. To receive the full per–ticket-group attribute set (the same shape POST /v9/inventory and PATCH /v9/inventory/:id already return for single records), pass response=detailed. See Detailed Response Mode below.
Parameters
Name | Description | Value Type | Required |
|---|---|---|---|
| ID of the Office for which you would like to get inventory | Integer | Required |
| Indicates if you want to retrieve inventory that has been mapped (available for sale on a specific event) or is unmapped (waiting to be mapped to an event). One of | String | Optional. Default: |
| Set to | String | Optional |
Pagination Parameters
Note: When paginating, you must include the state parameter as either MAPPED or UNMAPPED
Name | Description | Value Type | Required |
|---|---|---|---|
| Remote ID to start paginating from, ascending. This is the ID on your system or record. | Integer | Optional. Default: |
| Number of items to return. You will receive the first | Integer | Optional. Default: |
When you receive a response, to get the next page available, take the last remote_id of the page response, add 1 to it, then make a second call with this new remote_id + 1 as the cursor. Stop when there are no items returned.
Response Properties
Name | Description | Value Type | Notes |
|---|---|---|---|
| TEvo's ID for the ticket group | Integer| |
|
| This is the ID of the ticket group in your POS that was provided when the tickets were sent to TEvo. | Integer |
|
| The ID of the TEvo Event where these tickets are available for sale. | Integer| |
|
Examples
Request | Response |
|---|---|
| [
{
"id": 1939203215,
"remote_id": 605696419,
"event_id": 2306558
},
{
"id": null,
"remote_id": 79253586,
"event_id": null
},
{
"id": null,
"remote_id": 79253588,
"event_id": null
},
{
"id": 1952306134,
"remote_id": 600809252,
"event_id": 2236152
}
] |
| [
{
"id": 1939203215,
"remote_id": 605696419,
"event_id": 2306558
},
{
"id": 1952306134,
"remote_id": 600809252,
"event_id": 2236152
}
] |
| [
{
"id": null,
"remote_id": 79253586,
"event_id": null
},
{
"id": null,
"remote_id": 79253588,
"event_id": null
}
] |
Detailed Response Mode
Pass response=detailed to receive the full per–ticket-group attribute set — the same shape POST /v9/inventory and PATCH /v9/inventory/:id already return for single records — wrapped under an inventory key.
Differences from the default mode
Constraint | Default mode |
|
|---|---|---|
Top-level shape |
|
|
Per-record fields |
| Full per- |
|
|
|
| Optional | Required — pagination is mandatory in detailed mode. Missing |
|
|
|
|
|
|
Pagination semantics are the same as the default mode: take the last record's id (note: id, not remote_id, in detailed mode), add 1, pass it as the next page[cursor]. Stop when fewer than page[items] records come back.
Validation failures return 400 Bad Request with a structured errors payload:
{
"errors": [
{ "code": "invalid_params", "message": "page is missing" }
]
}Authorization failures (the requested office_id does not belong to the calling brokerage) return 401 Unauthorized with a generic message that does not enumerate accessible offices.
Detailed Response Properties
Each record in the inventory array carries the full attribute set described below::
Name | Description | Value Type |
|---|---|---|
| TEvo's ID for the ticket group. Use this as the cursor base when paginating. | Integer |
| The ID of the ticket group in your POS. | Integer |
| The ID of the TEvo Event where these tickets are available for sale. | Integer |
| TEvo Office ID. | Integer |
| Email associated with the listing. | String |
| Cost basis. | Decimal |
| Cost including tax. | Decimal |
| Listing price. | Decimal |
| Ticket face value. | Decimal |
| Discount applied. | Decimal |
| Number of available tickets in the group. | Integer |
| Ticket format (e.g. | String |
| Inventory type (e.g. | String |
| View type (e.g. | String| |
| Section label. | String |
| Row label. | String |
| Array of seat objects. Each has | Array |
| Split type (e.g. | String |
| Array of allowed split quantities (subject to availability). | Array of Integer |
| Whether the seats are wheelchair accessible. | Boolean |
| Whether the inventory is delivered as eticket. | Boolean |
| Whether the inventory supports instant delivery. | Boolean |
| Whether tickets are currently in hand. | Boolean |
| Date the tickets will be in hand. | Date| |
| Notes visible to external viewers. | String| |
| Whether the inventory is speculative. | Boolean |
| Timestamp when the ticket group was created. | DateTime |
| Timestamp of the last update. | DateTime |
Example
Request | Response |
|---|---|
| {
"inventory": [
{
"id": 1939203215,
"remote_id": 605696419,
"event_id": 8675309,
"office_id": 1234,
"account_email": "broker@example.com",
"cost": "75.00",
"taxed_cost": "78.50",
"price": "120.00",
"face_value": "100.00",
"discount": "0.00",
"quantity": 2,
"format": "ETICKET",
"type": "EVENT",
"view_type": "FULL",
"section": "100",
"row": "5",
"seats": [
{ "barcode": null, "primary_ticket_id": null, "seat": "12", "verification_id": null },
{ "barcode": null, "primary_ticket_id": null, "seat": "13", "verification_id": null }
],
"split_type": "ANY",
"split_override": [1, 2],
"wheelchair_accessible": false,
"eticket": true,
"instant_delivery": true,
"in_hand": true,
"in_hand_on": "2026-05-15",
"external_notes": null,
"speculative": false,
"created_at": "2026-04-15T13:24:08Z",
"updated_at": "2026-04-20T09:11:32Z"
},
{
"id": 1952306134,
"remote_id": 600809252,
"event_id": 8675310,
"office_id": 1234,
...
}
]
}
|
To request the next page, take the last record's id (here 1952306134), add 1, and pass page[cursor]=1952306135. Stop when fewer than page[items] records come back.