---
title: "Get portfolio statement"
method: GET
path: "/core/statements/portfolio"
tags: ["Statements"]
---

# Get portfolio statement

`GET /core/statements/portfolio`

## Request

- Base URL: `https://api.enterprise.sandbox.uphold.com`
- URL: `https://api.enterprise.sandbox.uphold.com/core/statements/portfolio`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `/core/oauth2/token` scopes: `core.statements:read`
- TypeScript: <https://skmtc.dev/uphold/apis/core-api/docs/core/statements/portfolio/get.ts> (a function with typed inputs; its response is checked against the schema)

Retrieves the portfolio statement for a given period.

## Query parameters

- `period` 'one-month', required
- `year` integer, required
- `month` integer, required
- `denomination` string

## Headers

- `X-On-Behalf-Of` string
- `X-Uphold-User-Ip` union
  - string, ipv4
  - string, ipv6
- `X-Uphold-User-Agent` string
- `X-Uphold-User-Origin` string
- `X-Uphold-User-Country` string
- `X-Uphold-User-Subdivision` string
- `X-Uphold-User-City` string

## Response `200`

Portfolio statement retrieved.

- object
  - `statement` PortfolioStatement, required
    - `period` StatementPeriod, required
      - `from` string, date-time, required: The start of the statement period.
      - `to` string, date-time, required: The end of the statement period.
    - `rates` object, required: Exchange rates keyed by asset-denomination pair (e.g. BTC-USD, USD-EUR).
    - `holdings` PortfolioStatementHolding[], required
      - `asset` string, required: The asset code.
      - `total` string, required: The total amount held at the end of the period.

## Other responses

- `400`: Bad Request.
- `401`: Unauthorized.
- `403`: Forbidden.
- `409`: Business logic error.
- `429`: Too Many Requests.

---

[API](https://skmtc.dev/uphold/apis/core-api.md) - [All operations](https://skmtc.dev/uphold/apis/core-api/llms.txt) - [OpenAPI document](https://skmtc.dev/uphold/apis/core-api/revisions/6c663575c57a?raw)
