Create an authentication token Run in API Explorer

POST /v2/users/login

Creates and returns a bearer token in JWT format that you can use to authenticate with Docker Hub APIs.

The returned token is used in the HTTP Authorization header like Authorization: Bearer {TOKEN}.

Most Docker Hub APIs require this token either to consume or to get detailed information. For example, to list images in a private repository.

application/json

Body Required

Login details.

  • username string Required

    The username of the Docker Hub account to authenticate with.

  • password string Required

    The password or personal access token (PAT) of the Docker Hub account to authenticate with.

Responses

  • 200 application/json

    Authentication successful

    Hide response attribute Show response attribute object
    • token string

      Created authentication token.

      This token can be used in the HTTP Authorization header as a JWT to authenticate with the Docker Hub APIs.

  • 401 application/json

    Authentication failed or second factor required

    Hide response attributes Show response attributes object
    • detail string Required

      Description of the error.

    • login_2fa_token string | null

      Short-lived token to be used on /v2/users/2fa-login to complete the authentication. This field is present only if 2FA is enabled.

POST /v2/users/login
curl \
 --request POST 'https://hub.docker.com/api/publisher/analytics/v1/v2/users/login' \
 --header "Content-Type: application/json" \
 --data '{"username":"myusername","password":"hunter2"}'
Request examples
{
  "username": "myusername",
  "password": "hunter2"
}
Response examples (200)
{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}
Response examples (401)
{
  "detail": "Incorrect authentication credentials",
  "login_2fa_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}