---
title: "Authenticate password"
method: POST
path: "/v1/auth/password/authenticate"
---

# Authenticate password

`POST /v1/auth/password/authenticate`

Authenticates a user using their username and password. The value of this username may correspond to the user's username, phone number, or email (based on what was used to register their password credentials).

## Request body

- ApiPasswordTokenRequestDto
  - `resource` string — Resource URI the authentication request is attempting to access, which is reflected in the audience (`aud` claim) of the access token. This must be configured as resource for the application.
  - `claims` object — Used to request additional claims in the ID token, such as roles, permissions, and other user profile data. The structure is per the [OIDC Standard](https://openid.net/specs/openid-connect-core-1_0-final.html#ClaimsParameter). For supported claims and how to request custom claims, see the [ID Token Reference](https://developer.transmitsecurity.com/openapi/id_token_reference/).
  - `org_id` string — Organization ID, used for member login in B2B scenarios
  - `session_id` string — Used to associate the authentication with an existing session (such as for MFA). If unspecified, a new session is created and the session ID is returned.
  - `username` string, required — Identifier of the user, which may contain the user's username, email or phone number (depending on what was used to register password credentials). The `username_type` must match the type of identifier used.
  - `password` string, required — Password
  - `username_type` 'username' | 'email' | 'phone_number' — Type of user identifier used to register the password

## Response `200`

Returns user tokens

- ApiTokenResponse
  - `access_token` string, required — User access token for accessing endpoints on behalf of the authenticated user.
  - `id_token` string — ID token that identifies the user.
  - `refresh_token` string — Refresh token used to refresh an expired access token.
  - `token_type` string, required — Bearer.
  - `expires_in` number, required — Expiration time of the access token in seconds.
  - `session_id` string, required — ID of the session in which the authentication occurs.

---

[API](https://skmtc.dev/transmitsecurity/apis/interactive-demo.md) · [All operations](https://skmtc.dev/transmitsecurity/apis/interactive-demo/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/transmitsecurity/interactive-demo/revisions/2bab8148a0f5/schema)
