# Get a managed card statement

Returns a statement for the managed card identified by the id path parameter.
The statement contains only posted/completed transactions where funds have definitively moved. Pre-paid mode cards hold their own balance and so the openingBalance, closingBalance and balanceAfter refer only to the requested card. This endpoint is not available for debit-mode cards. A debit-mode card is an access instrument to the parent Managed Account and does not hold a balance.
In progress transactions (authorisations) are not included but can be retrieved via the [transaction activity endpoint](https://api.weavr.io/products/multi/openapi/managed-cards/managedcardtransactionsget#tag/Managed-Cards/operation/managedCardTransactionsGet).
**Deprecated:** requesting this endpoint with `Accept: application/pdf` is superseded by
[GET /managed_cards/{id}/statement/pdf](https://api.weavr.io/products/multi/openapi/managed-cards/managedcardstatementpdf#tag/Managed-Cards/operation/managedCardStatementPdf),
which supports a `timezone` parameter and returns the complete period rather than a single
page. The JSON response is not deprecated.

Endpoint: GET /managed_cards/{id}/statement
Version: v3
Security: auth_token, api-key

## Path parameters:

  - `id` (string, required)
    The unique identifier of the managed card.

## Query parameters:

  - `offset` (integer)
    The offset value for paging, indicating the initial item number to be returned from the data set satisfying the given criteria. Leave out to fetch the first page of results.

  - `limit` (integer)
    The maximum number of statement entries to return. Limit is capped at 500.

  - `startPeriod` (integer)
    Start of the statement period. Epoch timestamp using millisecond precision.

  - `endPeriod` (integer)
    End of the statement period. Epoch timestamp using millisecond precision.

  - `sortOrder` (string)
    Sort order for the results:
  - ASC: Ascending order, oldest first (default for statements).
  - DESC: Descending order, most recent first.

  - `transaction.type` (array)
    Filter statement entries by one or more transaction types.

  - `executingAccessInstrument.id` (string)
    Filter statement entries by the ID of the access instrument that initiated the transaction.

  - `executingAccessInstrument.type` (array)
    Filter statement entries by the type of access instrument that initiated the transaction (managed cards or IBANs).

## Header parameters:

  - `accept` (string)
    A request parameter specifying the type of response the client would like. Must be one of `application/json`, `application/pdf` or `text/csv`.

The default response type (`application/json`) will be returned if specified incorrectly or not specified.

  - `x-api-version` (string)
    Opts the call in to the latest version of the endpoint. Set to `LATEST` to be routed to the newest implementation; omit to retain the default routing for your tenant.

## Response 200 fields (application/json):

  - `openingBalance` (object)
    The object representing a monetary amount in a particular currency.

  - `openingBalance.currency` (string, required)
    The currency expressed in ISO-4217 code. Example: GBP, EUR, USD.

  - `openingBalance.amount` (integer, required)
    The monetary amount, scaled to the lowest denomination of the currency.

Example, an amount of 1000 for a EUR currency is actually 1000 Euro cents or EUR 10.00.

  - `entries` (array)

  - `entries.entryId` (string, required)
    The unique identifier of this statement entry.

  - `entries.transaction` (object, required)
    Reference to the transaction this statement entry records. The concrete shape is identified by the `type` discriminator — see the per-type variants for the available subtypes.

  - `entries.transaction.id` (string, required)

  - `entries.transaction.type` (string, required)
    The top-level type of transaction represented by this statement entry.
    Enum: "card_payments", "transfers", "sends", "outgoing_wire_transfers", "incoming_wire_transfers", "correspondent_bank_transfers", "fees", "system_transactions"

  - `entries.description` (string)
    Human-readable description or reference for the entry.

  - `entries.timestamp` (integer, required)
    When the transaction was posted to the statement, expressed in Epoch timestamp using millisecond precision.

  - `entries.counterparty` (any)

  - `entries.counterparty.name` (string, required)
    The name of the merchant.

  - `entries.counterparty.id` (string)
    The unique merchant identifier.

  - `entries.counterparty.categoryCode` (string)
    The ISO 18245 merchant category code.

  - `entries.counterparty.country` (string)
    ISO 3166-1 alpha-2 country code of the merchant terminal.

  - `entries.counterparty.digitalWalletTypeUsed` (string)
    The digital wallet type.
    Enum: "GOOGLE_PAY", "APPLE_PAY", "MERCHANT_TOKEN"

  - `entries.counterparty.id` (string, required)
    The unique identifier of the counterparty instrument.

  - `entries.counterparty.type` (string, required)
    Enum: "managed_cards", "managed_accounts"

  - `entries.counterparty.friendlyName` (string)
    The friendly name of the counterparty instrument.

  - `entries.counterparty.owner` (object)
    The identity that owns the counterparty instrument.

  - `entries.counterparty.owner.id` (string)
    The identity identifier.

  - `entries.counterparty.owner.type` (string)
    The type of identity.
    Enum: "consumers", "corporates"

  - `entries.counterparty.owner.name` (string)
    The name of the identity.

  - `entries.counterparty.name` (string)
    The beneficiary or sender name.

  - `entries.counterparty.iban` (string)
    The IBAN of the bank account (SEPA/SWIFT).

  - `entries.counterparty.sortCode` (string)
    The UK sort code of the bank account (FasterPayments).

  - `entries.counterparty.accountNumber` (string)
    The UK account number of the bank account (FasterPayments).

  - `entries.counterparty.bic` (string)
    The BIC/SWIFT code of the bank (SEPA/SWIFT).

  - `entries.counterparty.bankCode` (string)
    Deprecated: legacy overloaded field carrying either the BIC or the sort code. Prefer bic/sortCode on new integrations.

  - `entries.counterparty.reference` (string)
    The sender or beneficiary reference.

  - `entries.fee` (object)

  - `entries.fee.id` (string, required)
    Identifier of the fee — same value used as entryId on the corresponding fees-type entry, and as the fee transaction id in the Transaction Activity API.

  - `entries.fee.type` (string, required)
    Always `fees`. Aligns with the top-level transaction type.
    Enum: "fees"

  - `entries.fee.subtype` (string)
    The category of fee — indicates the activity or instrument-lifecycle event the fee relates to.
    Enum: "fee_reversals", "incoming_wire_fees", "withdrawal_fees", "purchase_fees", "refund_fees", "atm_withdrawal_fees", "chargeback_fees", "transfer_fees", "send_fees", "outgoing_wire_transfer_fees", "custom_fees", "other_fees", "instrument_delete_fees", "funds_redemption_fees", "system_transaction_fees"

  - `entries.forex` (object)
    Foreign exchange details when the transaction involved currency conversion.

  - `entries.forex.exchangeRate` (object)
    A floating point number, represented as a value and its scale. Its actual value can be obtained using the equation: value * pow(10, -scale).

  - `entries.forex.exchangeRate.value` (integer)

  - `entries.forex.exchangeRate.scale` (integer)

  - `entries.relatedEntryId` (string)
    The ID of a related statement entry (e.g. a fee entry linked to its parent transaction entry).

  - `entries.executingAccessInstrument` (object)
    The access instrument that initiated the transaction. The concrete shape is identified by the `type` discriminator.

  - `entries.executingAccessInstrument.id` (string, required)
    The unique identifier of the access instrument.

  - `entries.executingAccessInstrument.type` (string, required)
    The type of access instrument that initiated a transaction.
    Enum: "managed_cards", "ibans"

  - `count` (integer)
    The total number of entries matching the filter criteria.

  - `responseCount` (integer)
    The number of entries returned in this response.

  - `footer` (string)
    Regulatory and card scheme footer text for the statement.

## Response 400 fields (application/json):

  - `message` (string)
    When present helps to identify and fix the problem.

  - `syntaxErrors` (object)
    Is returned as part of an HTTP error response whenever a syntax error is detected. A list of the fields together with their syntax error will be provided.

  - `syntaxErrors.invalidFields` (array)

  - `syntaxErrors.invalidFields.params` (array)

  - `syntaxErrors.invalidFields.fieldName` (string)

  - `syntaxErrors.invalidFields.error` (string)
    Enum: "REQUIRED", "HAS_TEXT", "REQUIRES", "SIZE", "RANGE", "IN", "NOT_IN", "REGEX", "EXACTLY", "AT_LEAST", "AT_MOST", "ALL_OR_NONE"

## Response 403 fields (application/json):

  - `errorCode` (string)
    Enum: "STEP_UP_REQUIRED", "ACCESS_TOKEN_REQUIRED", "INSUFFICIENT_PERMISSIONS"

## Response 404 fields (application/json):

  - `code` (string)

  - `message` (string)

## Response default fields (application/json):

  - `code` (string)

  - `message` (string)

