# Get all holdings **GET /api/v2/holdings** This endpoint returns every holding in the firm that the authenticated account is permitted to see. Employees see holdings on the plans they can read (all plans with `plans:readAll`, otherwise the plans owned by clients in their groups). Clients see holdings on their own plans that are visible on the client portal. **Iterating the full dataset.** Holdings is the largest dataset in a firm and can run to millions of rows. When paging through the whole set you must use cursor pagination by sending the `X-PLANNR-CURSOR-PAGINATION: true` header. Each page then costs the same regardless of how deep you are, whereas page based pagination gets slower the further you go. In cursor mode the response does not include `meta.total` or `meta.last_page`; follow `links.next` (or `meta.next_cursor`) until it is `null`. For incremental syncs, use `filter[updated_at]` to fetch only holdings changed since your last run. Holdings in proposed portfolios are excluded. Only active holdings are returned unless `filter[is_active]` is set. ## Servers - https://api.plannrcrm.com: https://api.plannrcrm.com () ## Authentication methods - Personal access token & O auth2 ## Parameters ### Headers - **X-PLANNR-ACCOUNT-UUID** (string) - **X-PLANNR-CURSOR-PAGINATION** (string) ### Query parameters - **filter[uuid]** (string) Filter by a comma separated list of holding UUIDs. - **filter[plan_uuids]** (string) Filter by a comma separated list of plan UUIDs. - **filter[sub_account_uuids]** (string) Filter by a comma separated list of sub account UUIDs. - **filter[plan_types]** (string) Comma separated list of plan types. Valid types are [cash_account, investment, protection_policy, pension, annuity, general_insurance, group_protection, mortgage, loan_credit, fixed_asset]. - **filter[plan_sub_types]** (string) Comma separated list of plan sub types. - **filter[provider_uuids]** (string) Comma separated list of provider UUIDs. Returns holdings on plans whose provider is in the list. This is the plan's provider, not the free text `provider` field on the holding. - **filter[exclude_provider_uuids]** (string) Comma separated list of provider UUIDs to exclude. Returns holdings on plans whose provider is not in the list, including plans with no provider. - **filter[is_active]** (boolean) Filter by active state. Defaults to true. - **filter[updated_at]** (string) Filter by updated at date. Can use operands such as >=, <>, > and combine as a range by providing two values separated by comma. - **include** (string) Comma separated list of relationships to include in the response. Valid relationships are [plan, sub_account, portfolio, external_references]. - **sort** (string) Field to sort by. Valid fields are [created_at]. Negative sign to denote DESC. Defaults to 'created_at'. Use the default when iterating with cursor pagination. - **per_page** (integer) Number of results to return with pagination (Default 15. Max 500). ## Responses ### 200 #### Body: application/json (object) - **data** (array[object]) [Powered by Bump.sh](https://bump.sh)