# API Key Authentication

Endpoints to generate a Bearer Token using issued API Keys. If you do not have API Keys, please contact us at sales@omniaexchange.com

## API Credential Auth

`POST /v3/auth/token`

Generate a JWT token using your api credentials. Tokens will expire after 24 hours

**Request Body** _(required)_

  | Field | Type | Description |
  |-------|------|-------------|
  | `keyId` | string | Api key id provided during onboarding (e.g. `QNl8Xfl729CJlNgwkA329EL1D8z8BAQ2`) |
  | `secret` | string | Api secret provided during onboarding (e.g. `u0WgWWLXYhcS+UnAGk2H+eZ3JZp1P4kpUxcoNitzu3U=`) |

**Responses**

- **200**: Ok

  | Field | Type | Description |
  |-------|------|-------------|
  | `jwtToken` | string | The token you should include on any requests to endpoints that require authorisation (e.g. `eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJIaSI6IkRpZCBub3QgdGhpbmsgYW55b25lIHdvdWxkIGRlY29kZSB0aGlzIiwicHVia2V5IjoiMHgwMFlvdXJQdWJsaWNLZXkwMCIsImlhdCI6MTY5OTgwMTE5NSwiZXhwIjoxNjk5ODg3NTk1fQ.CZdxZje7VRrMdfbfQSbnaliNmpmhat_tNZWiDqi-tboXqBLnP1qQRpwdl8A89eaGxkvmVmZGbeA8wP6ghqHjuzCjr1G5OwG40draexCZyBgys1IaPJFHVujrKxr3BxI5U0e8fSQ7s_kuWy3mA5SzlQJnlMy6y5WeY0GS7PACgXRBH3g3R0cua-pNmA-PzvRPTaQzU4-Bs3rsisNIcaJMIXCS2ofnvH6aLmWDpucfepJ1NgX0QJHZupBNBAoV67NPz4c9McERwG5G_pykmwz9sOJxLNpjjvf8OyF_21epX_YkxR1tzhPAHQuiIg8DAAWI7S435cR1yQyoY7R0TJWPZQ`) |

- **400**: Bad request

  | Field | Type | Description |
  |-------|------|-------------|
  | `code` | string | Error code |
  | `description` | string | Error description |


  Example (Invalid schema):
  ```json
  {"code":"INVALID_SCHEMA","description":"Missing or malformed schema"}
  ```

**Example**

```bash
curl -X POST "https://api.demo.omniaexchange.com/api/v3/auth/token" \
  -H "Content-Type: application/json" \
  -d '{"keyId": "QNl8Xfl729CJlNgwkA329EL1D8z8BAQ2", "secret": "u0WgWWLXYhcS+UnAGk2H+eZ3JZp1P4kpUxcoNitzu3U="}'
```

---

