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

# Check statement status

Get the current status of the statement based on its `statementId`


## OpenAPI

````yaml openapi_v2 get /v2/statements/{statementId}
openapi: 3.0.0
info:
  title: PawaPay Merchant API V2
  description: Please find complete documentation from https://docs.pawapay.io/.
  version: v2
  x-logo:
    url: >-
      https://global-uploads.webflow.com/62824591015aa314fd308df1/6411b26596e3de3f52551c00_Logopawapay-p-500.png
    href: https://docs.pawapay.io/
    altText: PawaPay logo
servers:
  - url: https://api.sandbox.pawapay.io
    description: PawaPay Merchant API sandbox
  - url: https://api.pawapay.io
    description: PawaPay Merchant API production
security:
  - bearerAuth: []
tags:
  - name: deposits
    x-displayName: Deposits
  - name: split-payments
    x-displayName: Split Payments
  - name: checkouts
    x-displayName: Checkouts
  - name: payouts
    x-displayName: Payouts
  - name: refunds
    x-displayName: Refunds
  - name: remittances
    x-displayName: Remittances
  - name: payment-page
    x-displayName: Payment Page
  - name: toolkit
    x-displayName: Toolkit
  - name: finances
    x-displayName: Finances
paths:
  /v2/statements/{statementId}:
    get:
      tags:
        - finances
      summary: Check statement status
      operationId: getStatement
      parameters:
        - $ref: '#/components/schemas/StatementId'
      responses:
        '200':
          description: Request has been processed by PawaPay
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatementSearchResult'
              examples:
                COMPLETED:
                  value:
                    status: FOUND
                    data:
                      statementId: 8917c345-4791-4285-a416-62f24b6982db
                      status: COMPLETED
                      wallet:
                        currency: ZMW
                        country: ZMB
                        provider: MTN_MOMO_ZMB
                      created: '2020-10-19T08:17:01Z'
                      startDate: '2025-05-10T10:00:00'
                      endDate: '2025-05-11T10:00:00'
                      fileSIze: 1234567
                      downloadUrl: https://pawapay.io/downloadUrl
                      downloadUrlExpiresAt: '2020-10-20T08:17:01Z'
                      completedAt: '2020-10-19T08:17:01Z'
                PROCESSING:
                  value:
                    status: FOUND
                    data:
                      statementId: 8917c345-4791-4285-a416-62f24b6982db
                      status: PROCESSING
                      wallet:
                        currency: ZMW
                        country: ZMB
                        provider: MTN_MOMO_ZMB
                      created: '2020-10-19T08:17:01Z'
                      startDate: '2025-05-10T10:00:00'
                      endDate: '2025-05-11T10:00:00'
                FAILED:
                  value:
                    status: FOUND
                    data:
                      statementId: 8917c345-4791-4285-a416-62f24b6982db
                      status: FAILED
                      wallet:
                        currency: ZMW
                        country: ZMB
                        provider: MTN_MOMO_ZMB
                      created: '2020-10-19T08:17:01Z'
                      startDate: '2025-05-10T10:00:00'
                      endDate: '2025-05-11T10:00:00'
                      failedAt: '2020-10-19T08:17:01Z'
                NOT_FOUND:
                  value:
                    status: NOT_FOUND
        '401':
          description: >-
            Authentication failed. Make sure you have added the API token into
            the header. If using signatures, make sure they are valid.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/AuthenticationFailureResponse'
              examples:
                AUTHENTICATION_ERROR:
                  value:
                    status: REJECTED
                    failureReason:
                      failureCode: AUTHENTICATION_ERROR
                      failureMessage: The API token in the request is invalid.
        '403':
          description: Authorization failure. Please check your authentication token.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/AuthorizationFailureResponse'
              examples:
                AUTHORISATION_ERROR:
                  value:
                    status: REJECTED
                    failureReason:
                      failureCode: AUTHORISATION_ERROR
                      failureMessage: >-
                        The API token in the request is not authorised for this
                        endpoint.
        '500':
          description: An unknown failure has occured.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/UnknownFailureResponse'
              examples:
                UNKNOWN_ERROR:
                  value:
                    failureReason:
                      failureCode: UNKNOWN_ERROR
                      failureMessage: Unable to process request due to an unknown problem.
components:
  schemas:
    StatementId:
      minLength: 36
      maxLength: 36
      type: string
      format: uuid
      description: The unique ID for this statement as specified by PawaPay.
      example: f4401bd2-1568-4140-bf2d-eb77d2b2b639
    StatementSearchResult:
      required:
        - status
      type: object
      properties:
        status:
          type: string
          description: |
            The result of this operation.
            - `FOUND` - The statement was found in PawaPay.
            - `NOT_FOUND` - The statement was not found in PawaPay.
          enum:
            - FOUND
            - NOT_FOUND
        data:
          $ref: '#/components/schemas/Statement'
    AuthenticationFailureResponse:
      required:
        - failureCode
        - failureMessage
      type: object
      properties:
        status:
          type: string
          enum:
            - REJECTED
          description: The status of the response will always be `REJECTED`
          example: REJECTED
        failureReason:
          $ref: '#/components/schemas/AuthenticationFailureReason'
    AuthorizationFailureResponse:
      required:
        - failureCode
        - failureMessage
      type: object
      properties:
        status:
          type: string
          enum:
            - REJECTED
          description: The status of the response will always be `REJECTED`
          example: REJECTED
        failureReason:
          $ref: '#/components/schemas/AuthorizationFailureReason'
    UnknownFailureResponse:
      required:
        - failureCode
        - failureMessage
      type: object
      properties:
        failureReason:
          type: object
          properties:
            failureCode:
              type: string
              description: >
                Reason for the failure:

                * `UNKNOWN_ERROR` - Unable to process request due to an unknown
                problem.
              example: UNKNOWN_ERROR
            failureMessage:
              type: string
              description: A description of the failure
              example: Unable to process request due to an unknown problem.
    Statement:
      required:
        - statementId
        - status
        - wallet
        - created
        - startDate
        - endDate
      type: object
      properties:
        statementId:
          $ref: '#/components/schemas/StatementId'
        status:
          $ref: '#/components/schemas/StatementStatus'
        wallet:
          $ref: '#/components/schemas/StatementWallet'
        created:
          $ref: '#/components/schemas/StatementCreatedTimestamp'
        startDate:
          type: string
          description: >
            The start date of the statement date range. Format defined by
            'date-time' in RFC3339 section 5.6 from
            [IETF](https://tools.ietf.org/html/rfc3339#section-5.6)
          format: date-time
          example: '2025-05-10T10:00:00'
        endDate:
          type: string
          description: >
            The end date of the statement date range. Format defined by
            'date-time' in RFC3339 section 5.6 from
            [IETF](https://tools.ietf.org/html/rfc3339#section-5.6)
          format: date-time
          example: '2025-05-01T10:00:00'
        fileSize:
          type: number
          description: |
            The file size in bytes of the generated statement.
          example: 1048576
        downloadUrl:
          format: uri
          description: |
            The URL from which to download the generated statement.

            **Please note! The URL is valid until `downloadUrlExpiresAt`.**
        downloadUrlExpiresAt:
          type: string
          description: >
            The download URL expiration time. After this time, the statement
            cannot be downloaded any more and a new statement should be
            generated.
          format: date-time
          example: '2025-05-01T10:00:00'
        completedAt:
          type: string
          description: |
            The date and time when the statement was generated.
          format: date-time
          example: '2025-05-01T10:00:00'
        failedAt:
          type: string
          description: |
            The data and time when the statement generation failed.
          format: date-time
          example: '2025-05-01T10:00:00'
        failureReason:
          $ref: '#/components/schemas/StatementFailureReason'
    AuthenticationFailureReason:
      required:
        - failureReason
      type: object
      properties:
        failureCode:
          type: string
          description: >
            Reason for the failure:

            * `NO_AUTHENTICATION` - The API token was not found in the request
            headers.

            * `AUTHENTICATION_ERROR` - The API token in the request headers is
            not valid.

            * `HTTP_SIGNATURE_ERROR` - The signature you have passed with the
            request did not pass verification.
          enum:
            - NO_AUTHENTICATION
            - AUTHENTICATION_ERROR
            - HTTP_SIGNATURE_ERROR
        failureMessage:
          type: string
          description: A description of the failure
    AuthorizationFailureReason:
      required:
        - failureReason
      type: object
      properties:
        failureCode:
          type: string
          description: >
            Reason for the failure:

            * `AUTHORISATION_ERROR` - The API Token in the request header is not
            authorised to make this request.

            * `DEPOSITS_NOT_ALLOWED` - Deposits are not enabled with the
            provider on your PawaPay account.

            * `PAYOUTS_NOT_ALLOWED` - Payouts are not enabled with the provider
            on your PawaPay account.

            * `REMITTANCES_NOT_ALLOWED` - Remittances are not enabled with the
            provider on your PawaPay account.

            * `REFUNDS_NOT_ALLOWED` - Refunds are not enabled with the provider
            on your PawaPay account.
          enum:
            - AUTHORISATION_ERROR
            - DEPOSITS_NOT_ALLOWED
            - PAYOUTS_NOT_ALLOWED
            - REMITTANCES_NOT_ALLOWED
            - REFUNDS_NOT_ALLOWED
        failureMessage:
          type: string
          description: A description of the failure
    StatementStatus:
      type: string
      description: >
        Possible statement statuses: 

        * `PROCESSING` - The statement is in **processing** status.

        * `COMPLETED` - The statement has been **completed**. See downloadUrl to
        download the file.

        * `FAILED` - The statement has been **failed**. See failureReason for
        details.
      enum:
        - PROCESSING
        - COMPLETED
        - FAILED
    StatementWallet:
      description: >
        Specifies which wallet to generate a statement for.


        You can check which wallets you have from the [wallet
        balances](/v2/api-reference/wallet-balances/wallet-balances) endpoint.
      required:
        - country
        - currency
      type: object
      properties:
        country:
          $ref: '#/components/schemas/StatementCountry'
        currency:
          $ref: '#/components/schemas/StatementCurrency'
        provider:
          $ref: '#/components/schemas/StatementProvider'
    StatementCreatedTimestamp:
      type: string
      description: >-
        The timestamp of when the statement was created in the PawaPay platform.
        Format defined by 'date-time' in RFC3339 section 5.6 from
        [IETF](https://tools.ietf.org/html/rfc3339#section-5.6)
      format: date-time
      example: '2020-02-21T17:32:29Z'
    StatementFailureReason:
      required:
        - failureCode
      type: object
      properties:
        failureCode:
          type: string
          description: >
            Possible statement failure codes:

            * `UNKNOWN_ERROR` - Unable to process request due to an unknown
            problem.
          example: UNKNOWN_ERROR
          enum:
            - UNKNOWN_ERROR
        failureMessage:
          type: string
          description: Description of the reason for this failure
          example: Unable to process request due to an unknown problem.
    StatementCountry:
      type: string
      minLength: 3
      maxLength: 3
      description: >
        Country code for the wallet you are generating a statement for.


        You can check which wallets you have from the [wallet
        balances](/v2/api-reference/wallet-balances/wallet-balances) endpoint.


        Format is ISO 3166-1 alpha-3, three character country code in upper
        case. Read more from
        [Wikipedia](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3#Officially_assigned_code_elements).
      example: ZMB
    StatementCurrency:
      type: string
      description: >
        ISO currency code for the wallet you are generating a statement for.


        You can check which wallets you have from the [wallet
        balances](/v2/api-reference/wallet-balances/wallet-balances) endpoint.


        Format must be the ISO 4217 three character currency code in upper case.
        Read more from
        [Wikipedia](https://en.wikipedia.org/wiki/ISO_4217#Active_codes).
      example: ZMW
    StatementProvider:
      type: string
      description: >
        If you have provider specific wallets, it indicates which provider
        specific wallet to generate the statement for in this country.


        You can check which wallets you have from the [wallet
        balances](/v2/api-reference/wallet-balances/wallet-balances) endpoint.
      example: MTN_MOMO_ZMB
  securitySchemes:
    bearerAuth:
      type: http
      description: >-
        See
        [Authentication](/v2/docs/how_to_start#how-to-authenticate-calls-to-the-merchant-api).
      scheme: bearer
      bearerFormat: JWT

````