# FieldAgentLoginResponse

Model ID: `fieldagent.LoginResponse`

Response for POST /auth/login. ``fhir_person_id`` and ``person_type``
are resolved best-effort from a Redis cache and, on a cache miss, a FHIR
Person search by cognito_sub — both may be null if neither lookup
succeeds, even though the login itself was successful.

Type: `object`

## Fields

| Field | Type | Required | Format | Allowed values | Default | Nullable | Description |
|---|---|---:|---|---|---|---:|---|
| `access_token` | `string` | Yes |  |  |  | No | Cognito access token; send as `Authorization: Bearer <access_token>` on subsequent requests. |
| `cognito_sub` | `string|null` | No |  |  |  | Yes | Cognito subject (user id) decoded from the issued id_token. |
| `expires_in` | `integer` | Yes |  |  |  | No | Access token lifetime in seconds from issuance. |
| `fhir_person_id` | `string|null` | No |  |  |  | Yes | FHIR Person ID for this agent, used as {agent_id} on every other route. Null if it could not be resolved. |
| `id_token` | `string|null` | No |  |  |  | Yes | Cognito ID token, carrying the tenant_id/roles claims used by other HealthCloud services. |
| `person_type` | `string|null` | No |  |  |  | Yes | Person type recorded for this identity, e.g. 'field_agent'. Null if it could not be resolved. |
| `refresh_token` | `string|null` | No |  |  |  | Yes | Cognito refresh token used to obtain a new access token without signing in again. |
| `token_type` | `string` | No |  |  | `"Bearer"` | No | OAuth token type returned by Cognito. |

## Example

None declared in canonical OpenAPI.
