# Authentication

The Travu API uses API keys to identify and authenticate requests. You can always find your keys at the Travu Office after complete Onboarding (Getting started [here](https://docs.mytripapi.com/#getting-started)). Note that you will not be needing to pass an PI Keys for the demo environment.

![NOTE: The Above Displayed Key is Invalid, DONT bother trying.](/files/-MdiFZPKpFw2NRBCLXHD)

Your API keys carry many privileges, so be make sure you keep them secure. Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, etc.

Authorization to the API is performed through the `Bearer Token` Type Authentication scheme. To authorize requests, select the `authentication` section, select `Bearer Token` as Type, then include your token bearer API key into the Token field.

![NOTE: The Above Displayed Key is Invalid, DONT bother trying.](/files/-Me9swCecoegtZombqhE)

API requests without authentication will fail with the below response:

```json
{
    "status": 401,
    "message": "Missing authorization key"
}
```

API calls made with a wrong/invalid Token will also be rejected with the below response:

```json
{
    "status": 401,
    "message": "Invalid authorization key provided"
}
```

API calls made with a Token belonging to a banned/restricted Travu Business account will also be rejected with the below response:

```json
{
    "status": 401,
    "message": "This account has been blocked"
}
```


---

# 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://docs.travu.africa/auth.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.
