> ## Documentation Index
> Fetch the complete documentation index at: https://docs.finventi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get account statements

> Returns a paginated list of account statement entries for the specified account.



## OpenAPI

````yaml get /v1/account-statements
openapi: 3.0.3
info:
  title: Ledger Client API
  version: 1.0.0
  description: API for ledger operations - parties, accounts, transactions
servers: []
security: []
tags:
  - name: Account Statements
    description: Retrieve account transaction history
  - name: Accounts
    description: Account management operations
  - name: Open Banking - Accounts
    description: PSD2 Account Information Service (AIS) - Account endpoints
  - name: Open Banking - Funds Confirmation
    description: PSD2 Confirmation of Funds Service (PIIS)
  - name: Open Banking - Payments
    description: PSD2 Payment Initiation Service (PIS)
  - name: Open Banking - Transactions
    description: PSD2 Account Information Service (AIS) - Transaction endpoints
  - name: Parties
    description: Party management operations
  - name: Payments
    description: Payment operations
  - name: Transaction Postings
    description: Retrieve transaction postings
  - name: Transactions
    description: Transaction execution operations
paths:
  /v1/account-statements:
    get:
      tags:
        - Account Statements
      summary: Get account statements
      description: >-
        Returns a paginated list of account statement entries for the specified
        account
      parameters:
        - description: Account ID
          example: 019bdb2a-960f-789d-8955-21720e6cdeed
          name: accountId
          in: query
          schema:
            format: uuid
            description: Account ID to retrieve statement for
            pattern: >-
              [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}
            type: string
            nullable: true
        - description: Account IBAN
          example: LT647044001231465456
          name: iban
          in: query
          schema:
            description: Account IBAN to retrieve statement for
            type: string
            nullable: true
        - name: page
          in: query
          schema:
            format: int32
            description: Page number (0-based)
            minimum: 0
            type: integer
            example: 0
        - name: size
          in: query
          schema:
            format: int32
            description: Number of items per page (max 100)
            maximum: 100
            minimum: 1
            type: integer
            example: 20
        - name: sortBy
          in: query
          schema:
            description: Field name to sort by
            default: createdAt
            type: string
            example: createdAt
        - name: sortDirection
          in: query
          schema:
            description: Sort direction
            default: DESC
            type: object
      responses:
        '200':
          description: Paginated list of account statement entries
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/PagedResponseAccountStatementEntryResponse
        '400':
          description: >-
            Validation failed. See [Error Handling](/ledger/error-handling) for
            the response shape.
          content:
            application/problem+json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ValidationProblem'
                  - $ref: '#/components/schemas/Problem'
        '500':
          description: Internal server error
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
components:
  schemas:
    PagedResponseAccountStatementEntryResponse:
      description: Paginated response wrapper
      type: object
      properties:
        data:
          description: List of items for the current page
          type: array
          items:
            $ref: '#/components/schemas/AccountStatementEntryResponse'
        page:
          format: int32
          description: Current page number (0-based)
          type: integer
          example: 0
        size:
          format: int32
          description: Number of items per page
          type: integer
          example: 100
        totalPages:
          format: int32
          description: Total number of pages
          type: integer
          example: 5
    ValidationProblem:
      description: >-
        RFC 9457 problem details with a `violations` array describing each
        failed constraint.
      required:
        - status
        - title
        - instance
        - violations
      type: object
      properties:
        status:
          format: int32
          description: HTTP status code
          type: integer
          example: 400
        title:
          description: Short, human-readable summary of the problem type
          type: string
        instance:
          description: URI reference identifying this occurrence of the problem
          type: string
        violations:
          description: List of validation constraint violations
          type: array
          items:
            $ref: '#/components/schemas/Violation'
    Problem:
      description: >-
        RFC 9457 problem details. See [Error Handling](/ledger/error-handling)
        for the response shape.
      required:
        - status
        - title
        - instance
      type: object
      properties:
        status:
          format: int32
          description: HTTP status code
          type: integer
          example: 500
        title:
          description: Short, human-readable summary of the problem type
          type: string
        instance:
          description: URI reference identifying this occurrence of the problem
          type: string
        detail:
          description: >-
            Human-readable explanation specific to this occurrence of the
            problem
          type: string
          nullable: true
    AccountStatementEntryResponse:
      description: Account statement entry
      type: object
      properties:
        createdAt:
          format: date-time
          description: Posting creation timestamp
          type: string
          example: '2024-01-15T10:30:00.542Z'
        transactionId:
          format: uuid
          description: Ledger transaction ID
          pattern: >-
            [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}
          type: string
          example: 019bdb2a-960f-789d-8955-21720e6cdef0
        amount:
          description: Amount in minor units (cents)
          type: integer
          example: 1000
        currency:
          description: Currency code
          type: string
          example: EUR
        direction:
          description: Posting direction (DEBIT or CREDIT)
          type: string
          allOf:
            - $ref: '#/components/schemas/Direction'
          example: DEBIT
        details:
          description: Transaction details/description
          type: string
          example: 'Payment for invoice #12345'
        paymentId:
          description: Payment ID if transaction originates from a payment
          type: string
          example: 019bdb2a-960f-789d-8955-21720e6cdeed
          nullable: true
        creditor:
          description: Counterparty details
          type: object
          allOf:
            - $ref: '#/components/schemas/CounterpartyResponse'
          nullable: true
        debtor:
          description: Counterparty details
          type: object
          allOf:
            - $ref: '#/components/schemas/CounterpartyResponse'
          nullable: true
    Violation:
      description: Single validation constraint violation
      required:
        - field
        - in
        - message
      type: object
      properties:
        field:
          description: Name of the field that failed validation
          type: string
        in:
          description: Part of the HTTP request where the violation occurred
          enum:
            - query
            - path
            - header
            - form
            - body
          type: string
        message:
          description: Human-readable description of the violation
          type: string
    Direction:
      enum:
        - CREDIT
        - DEBIT
      type: string
    CounterpartyResponse:
      description: Counterparty details
      type: object
      properties:
        name:
          description: Counterparty name
          type: string
          nullable: true
        iban:
          description: Counterparty IBAN
          type: string
          nullable: true
        agent:
          description: Counterparty agent (BIC)
          type: string
          nullable: true

````