---
title: "Login."
method: POST
path: "/auth/jwt/login.json"
tags: ["Authentication (JWT)"]
---

# Login.

`POST /auth/jwt/login.json`

## Request

- Base URL: `https://passbolt.local`
- URL: `https://passbolt.local/auth/jwt/login.json`
- Auth: none required
- TypeScript: <https://skmtc.dev/passbolt/apis/passbolt-api/docs/auth/jwt/login.json/post.ts> (a function with typed inputs; its response is checked against the schema)

## Request body

- LoginRequest
  - `user_id` string, uuid, required
  - `challenge` string, required: `gpg_encrypt(gpg_sign(challenge_message, user_key), server_key)`

## Response `200`

Operation is successful.

- object
  - `header` Header, required
    - `id` string, uuid, required
    - `status` 'success' | 'error', required
    - `servertime` integer, required
    - `action` string, uuid, required
    - `message` string, required
    - `url` string, uri, required
    - `code` integer, required
  - `body` LoginResponse, required
    - `challenge` string, required

## Other responses

- `400`: Bad request

---

[API](https://skmtc.dev/passbolt/apis/passbolt-api.md) - [All operations](https://skmtc.dev/passbolt/apis/passbolt-api/llms.txt) - [OpenAPI document](https://skmtc.dev/passbolt/apis/passbolt-api/revisions/8d72215e2274?raw)
