---
title: "Issue tokens"
method: POST
path: "/oauth2/token"
tags: ["OAuth2"]
---

# Issue tokens

`POST /oauth2/token`

Issue access tokens using various grant types:
- `client_credentials`: Exchange client credentials for an access token
- `urn:ietf:params:oauth:grant-type:jwt-bearer`: Exchange JWT assertion (Keycloak for brokerdash or Google for admin)
- `refresh_token`: Refresh an admin access token using a refresh token

## Response `200`

OK

- TokenResponse
  - `access_token` string, required — Access token
  - `expires_in` integer, required — Time in seconds until the token expires
  - `refresh_token` string — Refresh token
  - `token_type` 'Bearer', required — Type of the token (e.g., Bearer)

## Other responses

- `default` — Error

---

[API](https://skmtc.net/alpacahq/apis/gift-city-extensions-api.md) · [All operations](https://skmtc.net/alpacahq/apis/gift-city-extensions-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/alpacahq/gift-city-extensions-api/revisions/62e3378bb273/schema)
