> ## Documentation Index
> Fetch the complete documentation index at: https://docs.molesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Log in

> Exchange email and password for a JWT.

```http theme={null}
POST /api/v1/auth/signin
```

Exchange email + password for a JWT. This route is **unauthenticated**.

**Body**

| Field      | Type   | Required |
| ---------- | ------ | -------- |
| `email`    | string | ✅        |
| `password` | string | ✅        |

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST http://localhost:5080/api/v1/auth/signin \
    -H 'content-type: application/json' \
    -d '{"email":"admin@example.com","password":"admin"}'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "token": "eyJhbGciOi...",
    "user_id": "<user-id>",
    "email": "admin@example.com",
    "display_name": "Administrator",
    "org_id": "<organization-id>",
    "org_name": "Default",
    "display_role": "Owner",
    "roles": [
      {
        "id": "<role-id>",
        "key": "owner",
        "name": "Owner",
        "builtin": true
      }
    ]
  }
  ```
</ResponseExample>

Use the returned token as `Authorization: Bearer <token>`. Sign-in selects the user's first
organization membership; use an API token for unattended integrations.
