# Integration Overview

## Overview <a href="#overview" id="overview"></a>

AutoTek's API makes use of the OpenAPI 2.0 specification which makes it easy for our partners to integrate. We want to ensure the best possible experience for integrating with our stack.

### Environments <a href="#environments" id="environments"></a>

| Environment   | URL                               |
| ------------- | --------------------------------- |
| Production V2 | `https://api.autograb.com.au/v2/` |

### Regions <a href="#regions" id="regions"></a>

Certain API endpoints require that a region be passed as part of the request URL. Where necessary it is expected that region=nz be included where region is required.

For example: `https://api.autograb.com.au/v2/vehicle/239c8928fnc934fc?region=nz`

#### Region <a href="#supported-regions" id="supported-regions"></a>

| Country     | Region Code |
| ----------- | ----------- |
| New Zealand | `nz`        |

### API Keys <a href="#api-keys" id="api-keys"></a>

Your account manager will provision API keys for your account. If you require a key to be revoked please contact your account manager.

### Quota Limits <a href="#quota-limits" id="quota-limits"></a>

APIs have soft quota limits that are enforced based on your contract agreement. To discuss these limits please contact your account manager.

#### Rate Limiting <a href="#rate-limiting" id="rate-limiting"></a>

We strictly monitor the number of requests per second — if you exceed your allocation the API will respond with `HTTP 429 Too Many Requests`. We will also return additional headers to help you better understand when rate limits will be applied.

The limits are applied per API product and are decided based on your contract agreement. Rate limits do not relate to quotas.

| Header                       | Example      | Description                                                         |
| ---------------------------- | ------------ | ------------------------------------------------------------------- |
| `Rate-Limit-Remaining`       | `60`         | Number of remaining requests until the limit is reset.              |
| `Rate-Limit-Total`           | `60`         | Number of total requests that can be made until the limit is reset. |
| `Rate-Limit-Reset`           | `1609459200` | The timestamp of when the limit will reset.                         |
| `Monthly-Base-Request-Quota` | `100`        | Number of requests included in your contract.                       |
| `Monthly-Max-Request-Quota`  | `100000`     | Maximum number of requests allowed in your contract.                |
| `Monthly-Request-Total`      | `100`        | Monthly requests performed for this request type.                   |
