---
title: "Request an authentication token for an existing user or project client"
method: POST
path: "/api/v1/auth/token"
tags: ["Authentication"]
---

# Request an authentication token for an existing user or project client

`POST /api/v1/auth/token`

The grant type must be one of **password** or **client_credentials**. When using a grant type of *password*, you must provide the fields *username* (email) and *password*. When using the grant type *client_credentials* you must provide the fields *client_id* and *client_secret*. The grant type **provider** is reserved for internal purposes and should not be used.

## Request body

- AuthenticateRequest
  - `grant_type` 'password' | 'client_credentials' | 'provider', required
  - `username` string
  - `password` string
  - `client_id` string
  - `client_secret` string

## Response `200`

Successfully authenticated

- AccessTokenDTO
  - `access_token` string, required
  - `expires_in` string, required
  - `token_type` string, required

## Other responses

- `400` — Bad request
- `401` — Bad credentials
- `404` — No resource with such credentials found
- `429` — Too many attempts, please wait at least 15 minutes before retrying

---

[API](https://skmtc.dev/ever-co/apis/ever-traduora-api.md) · [All operations](https://skmtc.dev/ever-co/apis/ever-traduora-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ever-co/ever-traduora-api/revisions/50176ec21566/schema)
