---
title: "List Customer Accounts"
method: GET
path: "/customers/{customer_id}/accounts"
tags: ["customers"]
---

# List Customer Accounts

`GET /customers/{customer_id}/accounts`

## Request

- Base URL: `https://api.cert.tastyworks.com`
- URL: `https://api.cert.tastyworks.com/customers/{customer_id}/accounts`
- Auth: none declared

Returns every account the current customer has access to, each wrapped with the customer's authority level over it. After authenticating, this is typically the first call a client makes to discover account numbers for subsequent requests. Authority levels are `owner` (full privileges), `trade-only` (can trade but not move cash), and `read-only` (GET access only). Pass `me` as the `customer_id`.

## Path parameters

- `customer_id` string, int32, required

## Response `200`

A list of the accounts the customer can access, each with its authority level.

- object
  - `data` object, required
    - `items` AccountAuthorityDecorator[], required
      - `account` object
        - `account-number` string
        - `account-type-name` string
        - `closed-at` string, date-time
        - `created-at` string, date-time
        - `day-trader-status` string: Whether the account is flagged as a pattern day trader. Note: the wire value is a JSON boolean (e.g. false), although this schema declares a string.
        - `ext-account-id` string
        - `ext-crm-id` string
        - `external-accounts` string
        - `external-fdid` string
        - `external-id` string
        - `funding-date` string, date
        - `futures-account-purpose` string
        - `investment-objective` string
        - `investment-time-horizon` string
        - `is-closed` boolean
        - `is-firm-error` boolean
        - `is-firm-proprietary` boolean
        - `is-foreign` string: Whether the account is associated with a foreign address. Note: the wire value is a JSON boolean (e.g. false), although this schema declares a string.
        - `is-futures-approved` boolean
        - `liquidity-needs` string
        - `margin-or-cash` string
        - `nickname` string
        - `opened-at` string, date-time
        - `regulatory-domain` string
        - `risk-tolerance` string
        - `submitting-user-id` string
        - `suitable-options-level` string
      - `authority-level` string: The customer's privilege over this account: `owner` (full privileges), `trade-only` (can trade but cannot deposit/withdraw cash), or `read-only` (GET endpoints only).
  - `context` string, required
  - `pagination` object: Paging metadata, present on paginated list responses.
    - `per-page` integer
    - `page-offset` integer
    - `item-offset` integer
    - `total-items` integer
    - `total-pages` integer
    - `current-item-count` integer

## Other responses

- `401`: Missing or expired access token, or a missing/malformed User-Agent header. Send a valid Authorization: Bearer token and a User-Agent like my-app/1.0.
- `404`: No customer matches the supplied customer_id. Pass `me` to resolve the current customer.
- `429`: Request rate exceeded. Back off exponentially and reduce request rate.

---

[API](https://skmtc.dev/tastytrade/apis/accounts-and-customers.md) - [All operations](https://skmtc.dev/tastytrade/apis/accounts-and-customers/llms.txt) - [OpenAPI document](https://skmtc.dev/tastytrade/apis/accounts-and-customers/revisions/56a19159daf1?raw)
