Endpoints & Capabilities

Ventrata supports all OCTO Core endpoints as well as 16 additional Ventrata capabilities.

Capabilities are mostly optional, but they will allow you to enhance your integration by adding functionality Ventrata provides (e.g. pricing, content, pickups, etc.) in addition to OCTO Core.

OCTO Core Endpoints

Additional Ventrata Capabilities

The below capabilities are offered by Ventrata, as well as adopted by a few other ticketing/booking platforms, however, they are not yet part of the official OCTO Specification.

The support for each capability is defined per-product, which you can find on the Products. Each capability is defined like:

{
  "id": "octo/offers",
  "revision": 1,
  "required": false,
  "dependencies": ["octo/pricing"],
  "docs": "https://docs.ventrata.com/capabilities/offers",
  "default": true
}

By default, Ventrata will enable all allowed capabilities all the time. You can control which capabilities you want to enable by using the Octo-Capabilities header. For example:

GET /octo/availability HTTP/1.1
Host: api.ventrata.com
Authorization: Bearer 5bd1629a-323e-4edb-ac9b-327ef51e6136
Octo-Capabilities: octo/content, octo/offers

It's also possible to use the _capabilities query parameter if you're unable to use headers:

GET /octo/availability?_capabilities=octo/content,octo/offers HTTP/1.1
Host: api.ventrata.com
Authorization: Bearer 5bd1629a-323e-4edb-ac9b-327ef51e6136

You can list all the capabilities with a comma to separate each one. If a capability depends on another (for example octo/offers depends on octo/pricing) If you just include octo/offers we will automatically add the other dependent capabilities.

To know which capabilities you are using, the HTTP response will echo the Octo-Capabilities header including the list that was applied. For example:

HTTP/1.1 200 OK
Octo-Capabilities: octo/offers, octo/pricing

Required Capabilities

Some products cannot be sold without the use of a capability. If that is the case then the required: true will be put on the capability object within that product. If you have not implemented that capability then you cannot sell the product.

Capability Versioning

The capabilities defined on products include a revision number that will increment each time we update the capability. It's important to note that capabilities will NEVER introduce breaking changes, if they do then a new capability will be written entirely. For example: octo/pricing2

Last updated