# Headers

You must supply a set of HTTP headers when making a request. These headers can include both standard HTTP headers as well as some custom OCTO API or Reservotron headers.

Below are the required standard request headers, custom headers we recommend using, as well as some useful headers you can expect in Reservotron responses.

## Request Headers

<table><thead><tr><th width="222">Header</th><th width="148">Required</th><th>Description</th></tr></thead><tbody><tr><td><code>Authorization</code></td><td>Required</td><td>Your <a href="https://github.com/codegenome/reservotron_doc/blob/main/reseller-api/broken-reference/README.md">Authentication</a> <code>Bearer</code> token.</td></tr><tr><td><code>Content-Type</code></td><td>Required</td><td>This must be <code>application/json</code> for all <code>POST</code> <code>PATCH</code> and <code>DELETE</code> requests.</td></tr><tr><td><code>Octo-Capabilities</code></td><td><mark style="background-color:red;">Required</mark></td><td>A list of the <a href="https://github.com/codegenome/reservotron_doc/blob/main/reseller-api/broken-reference/README.md">Capabilities</a> to be included in the response e.g. <code>Octo-Capabilities: octo/pricing, octo/content</code>, etc. <mark style="background-color:red;">Include the header, but leave it empty if no capabilities are needed. When this header is not included, Reservotron's response will result in a 400 error.</mark></td></tr><tr><td><code>Octo-Env</code></td><td>Recommended</td><td>This header can mark any booking you perform with live credentials as a test sale in Reservotron. This will mean it will not consume any availability, the barcodes will not work, and you will not be invoiced for it. Use<code>Octo-Env: test</code> for test bookings and <code>Octo-Env: live</code> to turn it off and sell live. See <a href="https://github.com/codegenome/reservotron_doc/blob/main/reseller-api/broken-reference/README.md">Live Testing</a>.</td></tr><tr><td><code>Accept-Language</code></td><td>Optional</td><td>This conforms to the regular HTTP specification for the language but if the supplier has translated their content it will return the content in the specified language if possible. Also, all error messages will be translated. eg. <code>Accept-Language: fr</code> the server will then respond with <code>Language: fr</code> depending on if that language was available. See <a href="https://github.com/codegenome/reservotron_doc/blob/main/reseller-api/broken-reference/README.md">Localization</a>.</td></tr></tbody></table>

## Response Headers

<table><thead><tr><th width="373">Header</th><th>Description</th></tr></thead><tbody><tr><td><code>Content-Type</code></td><td><code>application/json</code></td></tr><tr><td><code>Octo-Capabilities</code></td><td><p>A list of the <a href="https://github.com/codegenome/reservotron_doc/blob/main/reseller-api/broken-reference/README.md">Capabilities</a> you initialized with your request.</p><p>e.g. <code>Octo-Capabilities: octo/pricing, octo/content</code>.</p></td></tr><tr><td><code>Octo-Env</code></td><td>This will return <code>test</code> if the request is in test, or <code>live</code> if it wasn't, depending on <code>Octo-Env</code> of your request and whether or not the Supplier set your connection to be forced to <code>test</code> mode. See <a href="https://github.com/codegenome/reservotron_doc/blob/main/reseller-api/broken-reference/README.md">Live Testing</a>.</td></tr><tr><td><code>Content-Language</code></td><td>This is the language of the content being returned. See the <a href="https://github.com/codegenome/reservotron_doc/blob/main/reseller-api/broken-reference/README.md">Localization</a> section for info on how to set it.</td></tr><tr><td><code>Octo-Available-Languages</code></td><td>A list of languages the supplier has translated the content into. See <a href="https://github.com/codegenome/reservotron_doc/blob/main/reseller-api/broken-reference/README.md">Localization</a></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://reservotron.gitbook.io/reservotron/reseller-api/headers.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
