# Get monthly statement

Retrieves details for the specified <a href="https://docs.solidgate.com/finance/financial-reports/monthly-reports/" target="_blank">monthly statement</a>. This endpoint requires an account-level API key.

Endpoint: POST /monthly-statements/get
Version: 2.0.0
Security: bearerAuth

## Request fields (application/json):

  - `id` (string, required)
    Unique monthly statement identifier.
    Example: msttm_01KM4X2H8KQWE5T6Y7R2M4N0BX

## Response 200 fields (application/json):

  - `id` (string, required)
    Unique monthly statement identifier.
    Example: msttm_01KM4X2H8KQWE5T6Y7R2M4N0BX

  - `provider_statement_id` (string)
    Monthly statement identifier assigned by the payment provider.
    Example: mr_1SiOtvARglNY93qrC4v49DbH

  - `provider` (string, required)
    Payment provider the monthly statement originates from.
    Example: CHECKOUT

  - `legal_entity_id` (string, required)
    Identifier of the legal entity the monthly statement belongs to.
    Example: le_01JZ9F3H8KQWE5T6Y7R2M4N0BX

  - `currency` (string)
    Monthly statement currency in ISO 4217 alphabetic code.
    Example: USD

  - `period_from` (string)
    First day of the month the monthly statement covers. Absent when the payment provider does not report the covered period.
    Example: 2026-01-01

  - `period_to` (string)
    Last day of the month the monthly statement covers. Absent when the payment provider does not report the covered period.
    Example: 2026-01-31

  - `uploaded_at` (string)
    Date and time when the payment provider uploaded the monthly statement. Absent when the payment provider does not upload it.
    Example: 2026-02-03T08:30:00.000000Z

  - `created_at` (string, required)
    Date and time when the monthly statement was created.
    Example: 2026-02-03T08:30:00.000000Z

  - `updated_at` (string, required)
    Date and time when the monthly statement was last updated.
    Example: 2026-02-03T10:00:00.000000Z

  - `files` (array, required)
    Downloadable files attached to the monthly statement.
    Example: [{"type":"MONTHLY_STATEMENT","status":"SUCCEEDED","download_url":"https://storage.example.com/monthly-statements/monthly-statement.pdf?signature=abc123"}]

  - `files.type` (string, required)
    Type of downloadable file attached to the monthly statement.
    Enum: "MONTHLY_STATEMENT"

  - `files.status` (string, required)
    Generation status of the file.
    Enum: "PROCESSING", "SUCCEEDED", "FAILED"

  - `files.download_url` (string)
    Short-lived pre-signed URL for downloading the file. Present only when the file status is SUCCEEDED.
    Example: https://storage.example.com/monthly-statements/monthly-statement.pdf?signature=abc123

## Response 400 fields (application/json):

  - `code` (string, required)
    Code identifying the error type.
    Enum: "VALIDATION"

  - `message` (string, required)
    Message describing the error.
    Example: One or more fields failed validation due to constraints

  - `context` (object, required)
    Additional context about the validation error, including specific constraints.
    Example: {"constraints":{"email":{"type":"TYPE","message":"The 'email' field must be a valid email address"},"age":{"type":"MIN","message":"The 'age' field must be a number greater than or equal to 18"}}}

## Response 401 fields (application/json):

  - `code` (string, required)
    Code identifying the error type.
    Enum: "UNAUTHENTICATED"

  - `message` (string, required)
    Message describing the error.
    Example: Credentials are invalid or missing

## Response 403 fields (application/json):

  - `code` (string, required)
    Code identifying the error type.
    Enum: "PERMISSION_DENIED"

  - `message` (string, required)
    Message describing the error.
    Example: Permission denied

## Response 404 fields (application/json):

  - `code` (string, required)
    Code identifying the error type.
    Enum: "NOT_FOUND"

  - `message` (string, required)
    Message describing the error. The entity varies by endpoint.
    Example: The requested resource could not be found

## Response 429 fields (application/json):

  - `code` (string, required)
    Code identifying the error type.
    Enum: "RATE_LIMIT"

  - `message` (string, required)
    Message describing the error.
    Example: Rate limit exhausted

  - `context` (object)
    Additional context about the error.

  - `context.next_try_at` (string)
    Timestamp indicating when to retry the request.
    Example: 2024-12-31T23:59:59.000000Z

