---
title: "Mint an access token"
method: POST
path: "/access-keys/token"
tags: ["Access Keys"]
---

# Mint an access token

`POST /access-keys/token`

## Request

- Base URL: `https://app-sandbox.resolvepay.com/api`
- URL: `https://app-sandbox.resolvepay.com/api/access-keys/token`
- Auth: none required
- TypeScript: <https://skmtc.dev/resolvepay/apis/resolve-api-reference/docs/access-keys/token/post.ts> (a function with typed inputs; its response is checked against the schema)

Exchange an OAuth access key for a bearer token by providing its `client_id` and `client_secret` in the request body.

## Request body

- IssueAccessKeyTokenRequest
  - `client_id` string, required: OAuth access key client ID returned when the access key was created.
  - `client_secret` string, required: OAuth access key client secret returned when the access key was created or rotated.

## Response `200`

Successfully minted bearer token

- AccessKeyTokenResponse
  - `access_token` string, required: Bearer token to include in the `Authorization` header.
  - `token_type` string, required
  - `expires_in` integer, required: Token lifetime in seconds.
  - `scope` string: Space-delimited scopes granted to the token.

## Other responses

- `400`: Bad request error
- `401`: Unauthorized error
- `403`: Forbidden error
- `404`: Not found error
- `429`: Rate limit error

---

[API](https://skmtc.dev/resolvepay/apis/resolve-api-reference.md) - [All operations](https://skmtc.dev/resolvepay/apis/resolve-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/resolvepay/apis/resolve-api-reference/revisions/c62edc454aaa?raw)
