# 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

## Security:

  - `auth_token` (unknown)
    http bearer JWT

  - `api-key` (unknown)
    apiKey in header 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:

  - `200` (unknown)
    Success

## 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.transaction.subtype` (string)
    Subtype of a card payment statement entry.
    Enum: "sale_purchases", "cash_withdrawals", "sales_with_cashback", "mail_or_telephone_orders", "purchase_refund_reversals", "original_credit_transaction_reversals", "cash_withdrawal_reversals", "purchase_refunds", "purchase_reversals", "original_credit_transactions", "first_chargebacks", "first_chargeback_reversals", "first_representments", "first_representment_reversals", "second_chargebacks", "second_chargeback_reversals", "second_representments", "arbitration_chargebacks"

  - `entries.transaction.subtype` (string)
    Subtype of an outgoing wire transfer statement entry.
    Enum: "redemptions", "returns"

  - `entries.transaction.subtype` (string)
    Subtype of an incoming wire transfer statement entry.
    Enum: "fundings"

  - `entries.transaction.subtype` (string)
    Subtype of a correspondent bank transfer statement entry.
    Enum: "returns"

  - `entries.transaction.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.transaction.subtype` (string)
    The specific kind of system-generated transaction.
    Enum: "account_closures", "chargebacks_represented", "chargebacks_won", "manual_auth_expiries", "negative_card_balances", "balance_adjustments", "lost_stolen_replacement_balance_transfers"

  - `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.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"

  - `entries.executingAccessInstrument.friendlyName` (string)
    The friendly name of the card.

  - `entries.executingAccessInstrument.cardBrand` (string)
    The card brand (e.g. VISA, MASTERCARD).

  - `entries.executingAccessInstrument.cardNumberFirstSix` (string)
    The first six digits of the card number.

  - `entries.executingAccessInstrument.cardNumberLastFour` (string)
    The last four digits of the card number.

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

  - `entries.executingAccessInstrument.handle` (string)
    The IBAN or account number.

  - `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 200 headers (application/json):

  - `request-ref` (string, required)
    A request identifier. Providing this reference when contacting our support team will help us investigate your query.

## Response 400:

  - `400` (unknown)
    Bad Request Error - Your request is invalid.

## 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 400 headers (application/json):

  - `request-ref` (string, required)
    A request identifier. Providing this reference when contacting our support team will help us investigate your query.

## Response 401:

  - `401` (unknown)
    Unauthorized - Your credentials or access token are invalid.

## Response 401 headers:

  - `request-ref` (string, required)
    A request identifier. Providing this reference when contacting our support team will help us investigate your query.

## Response 403:

  - `403` (unknown)
    Forbidden - Access to the requested resource or action is forbidden.

## Response 403 fields (application/json):

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

## Response 404:

  - `404` (unknown)
    Not found - The requested resource couldn't be found.

## Response 404 fields (application/json):

  - `code` (string)

  - `message` (string)

## Response 404 headers (application/json):

  - `request-ref` (string, required)
    A request identifier. Providing this reference when contacting our support team will help us investigate your query.

## Response 429:

  - `429` (unknown)
    Too many requests.

## Response 429 headers:

  - `request-ref` (string, required)
    A request identifier. Providing this reference when contacting our support team will help us investigate your query.

  - `x-ratelimit-limit` (string, required)
    Example: `20, 10;w=60, 20;w=3600, 200;w=86400`
The first number (20) is the limit that has been exceeded.
The remaining numbers are the limits that are in force, with 'w' meaning 'window in seconds'. In this example `20;w=3600` was exceeded. 20 calls in 3600secs (1hr)

  - `x-ratelimit-reset` (integer, required)
    The number of seconds until the window is reset.

## Response 500:

  - `500` (unknown)
    Internal Server Error - There is a problem with the server. Please try again later.

## Response 500 headers:

  - `request-ref` (string, required)
    A request identifier. Providing this reference when contacting our support team will help us investigate your query.

## Response 503:

  - `503` (unknown)
    Service Unavailable - The requested service is temporarily unavailable. Please try again later.

## Response 503 headers:

  - `request-ref` (string, required)
    A request identifier. Providing this reference when contacting our support team will help us investigate your query.

## Response default:

  - `default` (unknown)
    Error

## Response default fields (application/json):

  - `code` (string)

  - `message` (string)

