---
title: "Request an Access Token"
method: POST
path: "/oauth/token"
tags: ["Authentication"]
---

# Request an Access Token

`POST /oauth/token`

## Request

- Base URL: `https://sandbox.signup.nmi.com/api/v1`
- URL: `https://sandbox.signup.nmi.com/api/v1/oauth/token`
- Auth: none required

This endpoint issues an OAuth access token via an HTTP POST request. The token remains valid for 60 minutes. 
After expiration, you must request a new token.

### Available Scopes and their access
| Scope  | Description |
|---|---|
| packages:read  | Read packages information |
| applications:read  | Read access to applications |
| applications:write  | Write access to applications |
| subscriptions:read  | Read access to subscriptions |
| subscriptions:write  | Write access to subscriptions (subscribe/updated/delete) |

## Request body

- object
  - `grant_type` 'client_credentials', required: The OAuth2 grant type (e.g., `client_credentials`).
  - `client_id` string, required: Client Key identifier
  - `client_secret` string, required: Client Secret
  - `scope` union
    - '*': Accepts "*" to represent all scopes
    - string[]: Accepts an array of specific scopes

## Response `200`

Successful response with the Access Token

- object
  - `token_type` string, required: The type of token (typically `Bearer`).
  - `expires_in` integer, required: The lifetime of the token in seconds.
  - `access_token` string, required: The access token used to authenticate requests to protected resources.

## Other responses

- `401`: Unauthorized

---

[API](https://skmtc.dev/nmi/apis/payments-sign-up-api.md) - [All operations](https://skmtc.dev/nmi/apis/payments-sign-up-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nmi/apis/payments-sign-up-api/revisions/fb067f88923d?raw)
