# Get Account

**GET** `/users/{user_id}/accounts/{account_id}`

Base URL: `https://live.savewithsail.com/api/v1`

Retrieves a single benefit account including balance, type, and sync status.

## Authorization

- PartnerKey (http, bearer)

## Path parameters

- `user_id` (string, required)
  The Sail user id.
- `account_id` (string, required)
  The Sail account id.

## Responses

### 200

Account details.

- `id` (string)
  The Sail account id.
- `connection_id` (string)
  The connection this account belongs to.
- `external_id` (string)
  The administrator's identifier for this account.
- `name` (string)
  The account's display name.
- `type` ("hsa" | "fsa" | "hra" | "checking" | "savings" | "credit_card")
  The account type.
- `start_date` (string<date>)
  When the account became effective.
- `end_date` (string<date>)
  Plan-year end for plan-bound accounts (FSA); null for HSAs, which have no end date.
- `balance` (object)
  Present only when the owning connection has the `benefit_account` product.
  - `cash` (number<float>)
    Cash balance available.
  - `invested` (number<float>)
    Invested balance, if the account supports investments. Null otherwise.
- `last_sync_at` (string<date-time>)
  When this account's data was last synced. Null if it has never synced.

Example:

```json
{
  "id": "acct_77b1",
  "connection_id": "string",
  "external_id": "string",
  "name": "string",
  "type": "hsa",
  "start_date": "2024-01-01",
  "end_date": "2024-01-01",
  "balance": {
    "cash": 1050.5,
    "invested": 0
  },
  "last_sync_at": "1970-01-01T00:00:00.000Z"
}
```

### default

Standard error envelope covering 400, 401, 403, 404, 429, and 500.

- `error` (object)
  The error detail.
  - `code` (string)
    Machine-readable code, e.g. `not_found`, `token_scope_mismatch`, `product_not_enabled`, `insufficient_key_scope`, `insufficient_token_scope`, `user_token_required`, `user_token_expired`, `invalid_user_token`, `invalid_key_configuration`, `connection_not_reconnectable`, `rate_limited`.
  - `message` (string)
    Human-readable error message. May change, so match on `error.code` instead.
  - `param` (string)
    The request field that caused the error, when applicable. Null otherwise.

Example:

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "param": "string"
  }
}
```