> For the complete documentation index, see [llms.txt](https://docs.zumrails.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zumrails.com/api-reference/cards.md).

# Cards

## Create Card

Use this endpoint to link an existing User or create a new user. The endpoint can only be used for Cards that do not require KYC and ID vertification.

`Method: POST`

`Endpoint: {{env}}/api/card/create`

{% tabs %}
{% tab title="Request" %}

```json
{
  "CardProgramId": "string",
  "UserId": "00000000-0000-0000-0000-000000000000",
  "FirstName": "string",
  "LastName": "string",
  "Email": "string",
  "PhoneNumber": "string",
  "DateOfBirth": "string",
  "ClientUserId": "string",
  "Language": "En",
  "AddressLine1": "string",
  "AddressLine2": "string",
  "AddressCity": "string",
  "AddressState": "string",
  "AddressPostalCode": "string",
  "AddressCountry": "string"
}

```

{% endtab %}

{% tab title="Response" %}

```json
{
    "statusCode": 200,
    "message": "POST Request successful.",
    "isError": false,
    "result": {
        "FirstName": "string",
        "LastName": "string",
        "Email": "string",
        "PhoneNumber": "string",
        "DateOfBirth": "string",
        "CustomerId": "00000000-0000-0000-0000-000000000000",
        "OnboardId": "00000000-0000-0000-0000-000000000000",
        "OnboardStatus": "string",
        "SessionId": "string",
        "UserId": "00000000-0000-0000-0000-000000000000",
        "ClientUserId": "string",
        "UserCardId": "00000000-0000-0000-0000-000000000000",
        "CardType": "string",
        "AddressLine1": "string",
        "AddressLine2": "string",
        "AddressCity": "string",
        "AddressState": "string",
        "AddressPostalCode": "string",
        "AddressCountry": "string"
    }
}
```

{% endtab %}
{% endtabs %}

#### **Input Parameters**

| Field             | Type     | Mandatory                            | Description                                                                        |
| ----------------- | -------- | ------------------------------------ | ---------------------------------------------------------------------------------- |
| CardProgramId     | string   | Y                                    | The unique identifier for the card program being utilized.                         |
| UserId            | Guid?    | N                                    | The identifier for an existing user in the BaaS system.                            |
| FirstName         | string   | Y - only when UserId is not supplied | The legal first name of the card applicant.                                        |
| LastName          | string   | Y - only when UserId is not supplied | The legal last name of the card applicant.                                         |
| Email             | string   | Y - only when UserId is not supplied | The primary email address for the new user.                                        |
| PhoneNumber       | string   | Y - only when UserId is not supplied | The contact phone number for the user.                                             |
| DateOfBirth       | string   | Y - only when UserId is not supplied | The birth date of the user.                                                        |
| ClientUserId      | string   | Y - only when UserId is not supplied | A custom identifier for the user provided by the client.                           |
| Language          | Language | Y                                    | The preferred communication language for the user. Default is En. Set to En or Fr. |
| AddressLine1      | string   | Y - only when UserId is not supplied | The primary line of the physical or billing address.                               |
| AddressLine2      | string   | Y - only when UserId is not supplied | The secondary line (suite, apt) of the address.                                    |
| AddressCity       | string   | Y - only when UserId is not supplied | The city of the physical or billing address.                                       |
| AddressState      | string   | Y - only when UserId is not supplied | The state or province of the address.                                              |
| AddressPostalCode | string   | Y - only when UserId is not supplied | The postal or zip code of the address.                                             |
| AddressCountry    | string   | Y - only when UserId is not supplied | The country code of the physical or billing address.                               |

#### **Response**

| Field               | Type   | Description                                                       |
| ------------------- | ------ | ----------------------------------------------------------------- |
| FirstName           | string | The legal first name of the profile holder.                       |
| LastName            | string | The legal last name of the profile holder.                        |
| Email               | string | The registered email address for the user profile.                |
| PhoneNumber         | string | The verified phone number for the profile.                        |
| DateOfBirth         | string | The user's date of birth as recorded in the system.               |
| CustomerId          | Guid   | The unique identifier for the customer record.                    |
| OnboardId           | Guid   | The unique identifier for the specific onboarding session.        |
| OnboardStatus       | string | The current state of the onboarding process.                      |
| SessionId           | string | The identifier for the active verification or onboarding session. |
| UserId              | Guid   | The unique identifier for the user in the BaaS platform.          |
| ClientUserId        | string | The external identifier provided by the client for the user.      |
| UserCardId          | Guid   | The unique identifier for the card associated with this user.     |
| CardType            | string | The category of the issued card (e.g., Prepaid, Secured).         |
| CardHolderPortalUrl | string | The URL where the cardholder can access their management portal.  |
| AddressLine1        | string | The primary line of the user's registered address.                |
| AddressLine2        | string | The secondary line of the user's address.                         |
| AddressCity         | string | The city of the user's address.                                   |
| AddressState        | string | The state or province of the user's address.                      |
| AddressPostalCode   | string | The postal or zip code of the user's address.                     |
| AddressCountry      | string | The country code of the user's address.                           |

## Activate Card

Use this endpoint to set the users current prepaid card status to Activated.

`Method: POST`

`Endpoint: {{env}}/api/card/activate-card`

{% tabs %}
{% tab title="Request" %}

```json
{
    "UserId": "8ebd932b-...b92633e14297",
    "UserCardId": "9bd31212b-...b926dc141397"
}
```

{% endtab %}

{% tab title="Response" %}

```json
{
    "statusCode": 200,
    "message": "POST Request successful.",
    "isError": false,
    "result": {
        "ResponseDesc": "Operation is successful."
    }
}
```

{% endtab %}
{% endtabs %}

#### **Input Parameters**

<table><thead><tr><th width="208.625">Parameter</th><th width="140.25">Type</th><th width="108.8828125">Mandatory</th><th>Description</th></tr></thead><tbody><tr><td>UserId</td><td>Guid</td><td>Yes</td><td>User Id</td></tr><tr><td>UserCardID</td><td>Guid</td><td>Yes</td><td>Id of the specific card type issued (e.g. Prepaid Card User Id)</td></tr></tbody></table>

#### Response

| Parameter    | Type   | Description                 |
| ------------ | ------ | --------------------------- |
| ResponseDesc | String | Description of the response |

## Update Card Program

Use this endpoint to update the card program of the current card attached to the user.

`Method: POST`

`Endpoint: {{env}}/api/card/update-card-program`

{% tabs %}
{% tab title="Request" %}

```json
{
    "UserId": "8ebd932b-...b92633e14297",
    "UserCardId": "9bd31212b-...b926dc141397",
    "NewProgramId": "Customer_Card_Program"
}
```

{% endtab %}

{% tab title="Response" %}

```json
{
    "statusCode": 200,
    "message": "POST Request successful.",
    "isError": false,
    "result": {
        "CardReferenceId": "110195650197284",
        "NewProgramId": "Zumrail_test_prog",
        "ResponseDesc": "Operation is successful."
    }
}
```

{% endtab %}
{% endtabs %}

#### **Input Parameters**

<table><thead><tr><th width="176.23046875">Parameter</th><th width="122.19140625">Type</th><th width="110.76171875">Mandatory</th><th>Description</th></tr></thead><tbody><tr><td>UserId</td><td>Guid</td><td>Yes</td><td>User Id</td></tr><tr><td>UserCardId</td><td>Guid</td><td>Yes</td><td>Id of the specific card type issued (e.g. Prepaid Card User Id)</td></tr><tr><td>NewProgramId</td><td>String</td><td>Yes</td><td>New Card Program Id (Case Sensitive)</td></tr></tbody></table>

#### Response

| Parameter       | Type   | Description          |
| --------------- | ------ | -------------------- |
| CardReferenceId | String | Card Reference Id    |
| NewProgramId    | String | New Card Program Id  |
| ResponseDesc    | String | Response description |

## Get Cards

Use this endpoint to gather all the cards attached to the user.

`Method: GET`

`Endpoint: {{env}}/api/card/get-cards/{{userId}}`

{% tabs %}
{% tab title="Response" %}

```json
{
    "statusCode": 200,
    "message": "GET Request successful.",
    "isError": false,
    "result": [
        {
            "Id": "ba2d7ae1-65e8-4e90-8064-91f65f76a9d5",
            "CardBrand": "Unknown",
            "CardType": "SecuredCreditCard",
            "CardApplicationStatus": "Approved",
            "OnboardStatus": "Approved",
            "CardNumber": "************1619",
            "ExpireMonth": "07",
            "ExpireYear": "28",
            "CardStatus": "IssuedInactive",
            "CardReferenceId": "599000386149",
            "CardRegistrationStatus": "NotRegistered",
            "CardProgramId": "SECURE_TEST",
            "CardholderId": "599000000000003861",
            "AvailableBalance": -10.0,
            "LedgerBalance": -10.0,
            "CustomerId": "04054b0c-a6d4-48e4-9bc8-36ebbacc408f",
            "OnboardId": "a30803aa-3dff-4dc6-9940-d74d5f9d8a1a",
            "CreatedAt": "0001-01-01T05:00:00Z",
            "BypassedKycVerification": false,
            "PendingAmount": 0,
            "CreditLimitRequested": 500,
            "CreditLimit": 500.0,
            "SecurityDepositAmount": 500.0,
            "SecurityDepositCardNumber": "************4463",
            "SecurityDepositCardReferenceId": "599000386049",
            "LastPaymentAmount": 0,
            "MinimumPaymentAmount": 0,
            "StatementDate": "2026-07-27",
            "StatementAmount": 0
        },
        {
            "Id": "c08e177c-be4c-4f36-8539-83689fb95ae0",
            "CardBrand": "Unknown",
            "CardType": "PrepaidCard",
            "CardApplicationStatus": "Approved",
            "OnboardStatus": "Approved",
            "CardNumber": "************3481",
            "ExpireMonth": "07",
            "ExpireYear": "2029",
            "CardStatus": "IssuedInactive",
            "CardReferenceId": "599000385610",
            "CardRegistrationStatus": "NotRegistered",
            "CardProgramId": "Zumrail_ProdT",
            "CardholderId": "599000000000003833",
            "AvailableBalance": 99.99,
            "LedgerBalance": 99.99,
            "CustomerId": "04054b0c-a6d4-48e4-9bc8-36ebbacc408f",
            "OnboardId": "e57e7797-fb41-492b-8606-b91314ae15bd",
            "CreatedAt": "2026-07-21T00:14:20.341661Z"
        },
        {
            "Id": "c9680dfc-cbc3-41f0-bf9d-29f9ab36f66f",
            "CardBrand": "Unknown",
            "CardType": "PrepaidCard",
            "CardApplicationStatus": "Approved",
            "OnboardStatus": "Approved",
            "CardNumber": "************1996",
            "ExpireMonth": "07",
            "ExpireYear": "29",
            "CardStatus": "Closed",
            "CardReferenceId": "599000383331",
            "CardRegistrationStatus": "NotRegistered",
            "CardProgramId": "Zumrail_ProdT",
            "CardholderId": "599000000000003833",
            "AvailableBalance": 0.0,
            "LedgerBalance": 0.0,
            "CustomerId": "04054b0c-a6d4-48e4-9bc8-36ebbacc408f",
            "OnboardId": "e57e7797-fb41-492b-8606-b91314ae15bd",
            "CreatedAt": "2026-07-18T00:26:52.844958Z",
            "CardActivatedAt": "2026-07-18T00:40:42.760871Z",
            "CardClosedAt": "2026-07-21T00:14:19.617416Z",
            "BypassedKycVerification": false
        }
    ]
}
```

{% endtab %}
{% endtabs %}

**Input Parameters**

| Parameter | Type | Mandatory | Description |
| --------- | ---- | --------- | ----------- |
| UserId    | Guid | Yes       | User Id     |

**Response**

| Id                             | Guid        | The unique identifier for the User Card                             |
| ------------------------------ | ----------- | ------------------------------------------------------------------- |
| CardBrand                      | string      | The brand of the card (e.g., Visa, Mastercard).                     |
| CardType                       | string      | The functional type of the card (Prepaid or Secured).               |
| CardApplicationStatus          | string      | The current status of the card application.                         |
| OnboardStatus                  | string      | The status of the user onboarding process for this card.            |
| CardNumber                     | string      | The masked or truncated card number.                                |
| ExpireMonth                    | string      | The two-digit expiration month of the card.                         |
| ExpireYear                     | string      | The expiration year of the card.                                    |
| CardStatus                     | CardStatus? | The operational status of the card (e.g., Active, Blocked, Closed). |
| CardOnboardingStatus           | string      | Specific onboarding step reached for the card.                      |
| CardReferenceId                | string      | The external reference identifier from the card processor.          |
| CardRegistrationStatus         | string      | Indicates if the card has been registered by the user.              |
| CardholderUserId               | string      | The identifier of the user who holds the card.                      |
| CardProgramId                  | string      | The identifier of the card program this card belongs to.            |
| CardholderId                   | string      | The processor-specific cardholder identifier.                       |
| AvailableBalance               | decimal     | The amount of funds currently available for spending.               |
| LedgerBalance                  | decimal     | The total balance including pending transactions.                   |
| CustomerId                     | string      | The unique identifier for the customer (tenant).                    |
| OnboardId                      | string      | The identifier for the specific onboarding session.                 |
| CreatedAt                      | DateTime?   | The timestamp when the card record was created.                     |
| CardActivatedAt                | DateTime?   | The timestamp when the card was activated.                          |
| CardClosedAt                   | DateTime?   | The timestamp when the card was closed.                             |
| BypassedKycVerification        | bool        | Indicates if automated identity verification was skipped.           |
| PendingAmount                  | decimal?    | The sum of all transactions currently in a pending state.           |
| CreditLimitRequested           | decimal?    | The credit limit amount requested by the applicant.                 |
| CreditLimit                    | decimal     | The total approved credit limit for the card.                       |
| SecurityDepositAmount          | decimal     | The amount held as a security deposit for secured cards.            |
| SecurityDepositCardNumber      | string      | The card number associated with the security deposit.               |
| SecurityDepositCardReferenceId | string      | The reference ID for the security deposit card.                     |
| LastPaymentDate                | string      | The date of the last payment made on the account.                   |
| LastPaymentAmount              | decimal     | The amount of the most recent payment.                              |
| MinimumPaymentAmount           | decimal     | The minimum amount required for the next payment.                   |
| MinimumPaymentDueDate          | string      | The deadline for making the minimum payment.                        |
| StatementDate                  | string      | The date when the most recent statement was generated.              |
| StatementAmount                | decimal     | The total balance due on the last statement.                        |

## Update Card Status

Use this endpoint to set the card status of the user’s current card.

`Method: POST`

`Endpoint: {{env}}/api/card/update-card-status`

{% tabs %}
{% tab title="Request" %}

```json
{
    "UserId": "8ebd932b-...b92633e14297",
    "UserCardId": "9bd31212b-...b926dc141397",
    "CardStatus": "FraudBlock"
}
```

{% endtab %}

{% tab title="Response" %}

```json
{
    "statusCode": 200,
    "message": "POST Request successful.",
    "isError": false,
    "result": {
        "CardStatus": "FraudBlock",
        "ResponseDesc": "Operation is successful."
    }
}
```

{% endtab %}
{% endtabs %}

#### **Request Parameters**

<table><thead><tr><th width="165.55859375">Parameter</th><th width="128.15234375">Type</th><th width="118.47265625">Mandatory</th><th>Description</th></tr></thead><tbody><tr><td>UserId</td><td>Guid</td><td>Yes</td><td>User Id</td></tr><tr><td>UserCardId</td><td>Guid</td><td>Yes</td><td>Id of the specific card type issued (e.g. Prepaid Card User Id)</td></tr><tr><td>CardStatus</td><td>String</td><td>Yes</td><td>New Card Status</td></tr></tbody></table>

#### **Response**&#x20;

| Parameter    | Type   | Description          |
| ------------ | ------ | -------------------- |
| CardStatus   | String | Card Status          |
| ResponseDesc | String | Response description |

#### **Card Status**

These are the available card status updates.

| Card Status      | Description                                                                         |
| ---------------- | ----------------------------------------------------------------------------------- |
| Issued\&inactive | Card is issued and not activated yet (default card status on new and reissued card) |
| Activated        | Card is active and ready for use.                                                   |
| Closed           | Card account is closed.                                                             |
| Inactive         | Card is temporarily inactive.                                                       |
| FraudBlock       | Card is blocked due to suspected fraud.                                             |

These are the available card statuses that can be returned.

| Card Status         | Description                             |
| ------------------- | --------------------------------------- |
| PendingCardIssuance | Card is not issued yet                  |
| Issued\&inactive    | Card is issued and not activated yet    |
| Activated           | Card is active and ready for use.       |
| Closed              | Card account is closed.                 |
| Inactive            | Card is temporarily inactive.           |
| FraudBlock          | Card is blocked due to suspected fraud. |

These are the available card application statuses when the User is in the process of applying for the card and the card is not yet issued.

| Card Status     | Description                                                                                   |
| --------------- | --------------------------------------------------------------------------------------------- |
| PendingApproval | Card application has passed KYC/IDV and not yet approved for card issuance                    |
| UnderReview     | Card application is under review                                                              |
| Rejected        | Card application is declined                                                                  |
| Approved        | Card application is approved for card issuance                                                |
| InProgress      | Card application KYC/IDV verification is submitted and process is in progress                 |
| Incomplete      | Card application has completed the card profile setup and KYC/IDV step has not been completed |

## Reissue Card

Use this endpoint to reissue an existing non-closed card and close the existing card attached to the user. The reissued card will have a new card number, new expire date, and new CVC.

`Method: POST`

`Endpoint: {{env}}/api/card/reissue-card`

{% tabs %}
{% tab title="Request" %}

```json
{
    "UserId": "8ebd932b-...b92633e14297",
    "UserCardId": "9ebd932b-...b92633e14297"
}
```

{% endtab %}

{% tab title="Response" %}

```json
{
    "statusCode": 200,
    "message": "POST Request successful.",
    "isError": false,
    "result": {
        "NewCardReferenceId": "110195650225284",
        "ResponseDesc": "Operation is successful.",
        "UserId": "8cdbcf63-7fd1-445c-ac34-4d20bef30c82",
        "Last4Digits": "1956",
        "ExpireMonth": "04",
        "ExpireYear": "27",
        "AvailableBalance": 4.35,
        "LedgerBalance": 4.35,
        "FirstName": "Julies",
        "LastName": "Test",
        "CardStatus": "IssuedInactive",
        "CardProgramId": "Zumrail_Test",        
        "Email": "john.doe@zumrails.com"
    }
}

```

{% endtab %}
{% endtabs %}

#### **Request Parameters**

| Parameter  | Type | Required | Description                                                     |
| ---------- | ---- | -------- | --------------------------------------------------------------- |
| UserId     | guid | yes      | User Id                                                         |
| UserCardId | guid | yes      | Id of the specific card type issued (e.g. Prepaid Card User Id) |

#### **Response**

| Parameter          | Field  | Description                                      |
| ------------------ | ------ | ------------------------------------------------ |
| NewCardReferenceId | String | New Card Reference Id                            |
| ResponseDesc       | String | Response description                             |
| UserId             | Guid   | User Id of the prepaid card user                 |
| Last4Digits        | Number | Last 4 digits of the prepaid card number         |
| ExpireMonth        | String | Expiry month of the prepaid card number          |
| ExpireYear         | String | Expiry year of the prepaid card number           |
| Available balance  | Number | Available balance of the prepaid card number     |
| Ledger Balance     | Number | Ledger balance of the prepaid card number        |
| FirstName          | String | First name of the prepaid card user              |
| LastName           | String | Last name of the prepaid card user               |
| CardStatus         | String | Card status of the reissued card                 |
| CardProgramId      | String | Card program the reissued card is assigned under |
| Email              | String | Email address of the prepaid card user           |

## Get Card Transactions

Use this endpoint for transaction history from a users prepaid card.

`Method: POST`

`Endpoint: {{env}}/api/user/get-card-transactions`

{% tabs %}
{% tab title="Request" %}

```json
{
    "UserId": "8ebd932b-...b92633e14297",
    "CardReferenceId": "599000027458",
    "CreatedAtOperator": "isInTheLast",
    "CreatedAt": "2023-01-01 12:00:00.000",
    "Pagination": {
        "PageNumber": 1,
        "ItemsPerPage": 10
    }
}

```

{% endtab %}

{% tab title="Response" %}

```json
{
    "statusCode": 200,
    "message": "POST Request successful.",
    "isError": false,
    "result": {
        "CurrentPage": 1,
        "PageSize": 10,
        "TotalCount": 4,
        "Items": [
            {
                "Id": "6adae97f-1bf0-491a-b192-173d81cb9518",
                "CreatedAt": "2025-06-10T12:20:30Z",
                "SettlementDate": "2025-06-14",
                "TransactionId": "F333334",
                "Description": "Grocery Store Purchase",
                "Status": "Posted",
                "Debit": -3.99,
                "Credit": 0,
                "MerchantNameAndLocation": "Fake Retailer Inc. New York NY"
            },...
        ]
    }
}


```

{% endtab %}
{% endtabs %}

#### **Request Parameters**

| UserId                  | Guid            | Yes | User Id                                        |
| ----------------------- | --------------- | --- | ---------------------------------------------- |
| CardReferenceId         | String          | Yes | Card reference id                              |
| CardTransactionType     | String          | No  | Card issuer transaction type                   |
| CardTransactionStatuses | String          | No  | Card transaction statuses                      |
| TransactionZumRailsType | String          | No  | Transaction zum rails type                     |
| CardTransactionId       | String          | No  | Card issuer transaction id                     |
| GenericSearch           | String          | No  | Filter the search with this text               |
| AmountLowerLimit        | Number          | No  | Lower limit transaction amount                 |
| AmountUpperLimit        | Number          | No  | Upper limit transaction amount                 |
| CreatedAtOperator       | String          | No  | Date filter type for query                     |
| CreatedAtFrom           | Datetime        | No  | Start date for query                           |
| CreatedAtTo             | Datetime        | No  | End date for query                             |
| CreatedAt               | Datetime        | No  | Base date for query                            |
| Timezone                | Windows or IANA | No  | Timezone identifier                            |
| **Pagination**          | -               | Yes |                                                |
| PageNumber              | Number          | Yes | The respective page, starting at 1             |
| ItemsPerPage            | Number          | Yes | The amount of items per page between 0 and 100 |

#### **Response**

| Parameter               | Type        | Description                       |
| ----------------------- | ----------- | --------------------------------- |
| CurrentPage             | Number      | Current page of transaction list  |
| PageSize                | Number      | Number of items in page requested |
| TotalCount              | Number      | Number of total items queryable   |
| **Items**               | <p><br></p> | <p><br></p>                       |
| Id                      | Guid        | Zum Rails Transaction Id          |
| CreatedAt               | Datetime    | Created at date and time          |
| SettlementDate          | Date        | Date funds settled                |
| TransactionId           | String      | Card issuer transaction id        |
| Description             | String      | Description of transaction        |
| Status                  | String      | Status of transaction             |
| Debit                   | Decimal     | Amount Debited                    |
| Credit                  | Decimal     | Amount Credited                   |
| MerchantNameAndLocation | String      | Merchant name and location        |

**CreatedAtOperator:**&#x20;

| Type           | Description                              |
| -------------- | ---------------------------------------- |
| IsInTheLast    | Between user creation date and now       |
| ExactlyMatches | Exactly matches CreatedAt                |
| IsBetween      | Is between CreatedAtFrom and CreatedAtTo |
| IsAfter        | Is after CreatedAt                       |
| IsOnOrAfter    | Is on or after CreatedAt                 |
| IsBefore       | Is before CreatedAt                      |
| IsBeforeOrOn   | Is before or on CreatedAt                |

**CardTransactionStatuses:**&#x20;

| Type     | Description           |
| -------- | --------------------- |
| Posted   | Posted transactions   |
| Pending  | Pre Auth Transactions |
| Declined | Declined Transcations |

**CardTransactionType:**&#x20;

| Type   | Description         |
| ------ | ------------------- |
| POS    | POS Purchase        |
| ATM    | Cash Withdrawal     |
| Debit  | Debit Transactions  |
| Credit | Credit Transactions |

## Cancel Transactions

Use this endpoint for reversing pre-auth POS transactions and fee transactions.

`Method: DELETE`

`Endpoint: {{env}}/api/card-transaction/{transactionId}`

{% tabs %}
{% tab title="Response" %}

```json
{
    "statusCode": 200,
    "message": "DELETE Request successful.",
    "isError": false,
    "result": "Request completed"
}
```

{% endtab %}
{% endtabs %}

## Get Statement List

Use this endpoint to retrieve a paginated list of card statements for a User.

`Method: POST`

`Endpoint: {{env}}/api/card/statements/filter`

{% tabs %}
{% tab title="Request" %}

```json
{
    "UserId": "8ebd932b-...b92633e14297",
    "UserCardId": "9bd31212b-...b926dc141397",
    "AddTransactionDetails": true,
    "dateFrom": "2026-05-01T00:00:00Z",
    "dateTo": "2026-12-31T23:59:59Z",
    "TransactionPageSize": 10,
    "Pagination": {
        "PageNumber": 1,
        "ItemsPerPage": 10
    }
}

```

{% endtab %}

{% tab title="Response" %}

```json
{
    "statusCode": 200,
    "message": "POST Request successful.",
    "isError": false,
    "result": {
        "CurrentPage": 1,
        "PageSize": 10,
        "TotalCount": 2,
        "Items": [
            {
                "Id": "a3986b76-c899-4be1-8999-29d4b3adab34",
                "UserCardId": "952ea6a5-5eee-4291-9d13-422df35fcd94",
                "PeriodStart": "05-01-2026",
                "PeriodEnd": "05-31-2026",
                "StatementDate": "05-01-2026",
                "PaymentDueDate": "2026-05-25T04:00:00Z",
                "CreatedAt": "2026-06-02T23:22:48.893546Z",
                "Last4Digits": "2945",
                "CardType": "SecuredCreditCard",
                "PreviousBalance": 146.65,
                "Payments": 0.0,
                "OtherCredits": 0.0,
                "Purchases": 0.0,
                "CashAdvance": 0.0,
                "InterestCharged": 0.7,
                "FeeCharged": 35.0,
                "NewBalance": 182.35,
                "MinimumPaymentDue": 10,
                "CreditLimit": 360.0,
                "AvailableCredit": 177.65,
                "DaysAccountPastDue": 0,
                "StatementGenerated": true,
                "Transactions": []
            }
        ]
    }
}


```

{% endtab %}

{% tab title="Response with Transactions" %}

```json
{
    "statusCode": 200,
    "message": "POST Request successful.",
    "isError": false,
    "result": {
        "CurrentPage": 1,
        "PageSize": 10,
        "TotalCount": 2,
        "Items": [
            {
            "Id": "a3986b76-c899-4be1-8999-29d4b3adab34",
            "UserCardId": "952ea6a5-5eee-4291-9d13-422df35fcd94",
            "PeriodStart": "05-01-2026",
            "PeriodEnd": "05-31-2026",
            "StatementDate": "05-01-2026",
            "PaymentDueDate": "2026-05-25T04:00:00Z",
            "CreatedAt": "2026-06-02T23:22:48.893546Z",
            "Last4Digits": "2945",
            "CardType": "SecuredCreditCard",
            "PreviousBalance": 146.65,
            "Payments": 0.0,
            "OtherCredits": 0.0,
            "Purchases": 0.0,
            "CashAdvance": 0.0,
            "InterestCharged": 0.7,
            "FeeCharged": 35.0,
            "NewBalance": 182.35,
            "MinimumPaymentDue": 10,
            "CreditLimit": 360.0,
            "AvailableCredit": 177.65,
            "DaysAccountPastDue": 0,
            "StatementGenerated": true,
            "Transactions": [
                    {
                        "Id": "08994cab-b3d9-466b-be58-4d3227997d37",
                        "StatementId": "a3986b76-c899-4be1-8999-29d4b3adab34",
                        "Type": "Fee",
                        "Description": "Fee - Card Activation",
                        "TransactionDate": "2026-05-28T04:00:00Z",
                        "TransactionPostedDate": "2026-05-28T04:00:00Z",
                        "Amount": 0.01,
                        "CreatedAt": "2026-06-02T23:22:48.892975Z"
                    }
                ]
            }
        ]
    }
}


```

{% endtab %}
{% endtabs %}

#### **Request Parameters**

<table><thead><tr><th width="205.25390625">Parameter</th><th>Type</th><th>Mandatory</th><th>Description</th></tr></thead><tbody><tr><td>UserId</td><td>Guid</td><td>Yes</td><td>User Id</td></tr><tr><td>UserCardId</td><td>Guid</td><td>No</td><td>Id of the specific card type issued (e.g. Secured Credit Card User Id)</td></tr><tr><td>AddTransactionDetails</td><td>Bool</td><td>No</td><td><p>Whether to include transactions in each statement.</p><p>Set to true or false. </p><p>Default: false</p></td></tr><tr><td>DateFrom</td><td>Datetime</td><td>No</td><td>Start date for query</td></tr><tr><td>DateTo</td><td>Datetime</td><td>No</td><td>End date for query</td></tr><tr><td>Pagination</td><td></td><td>No</td><td></td></tr><tr><td>PageNumber</td><td>Number</td><td>No</td><td>The respective page, starting at 1</td></tr><tr><td>ItemsPerPage</td><td>Number</td><td>No</td><td>The amount of items per page between 0 and 100</td></tr></tbody></table>

#### **Response**

| Parameter             | Type     | Description                                                 |
| --------------------- | -------- | ----------------------------------------------------------- |
| CurrentPage           | Number   | Current page of results                                     |
| PageSize              | Number   | Number of items in page requested                           |
| TotalCount            | Number   | Total number of items queryable                             |
| Items                 |          |                                                             |
| Id                    | Guid     | Statement Id                                                |
| UserCardId            | Guid     | Id of the Secured Credit Card associated with the statement |
| PeriodStart           | DateOnly | Start date of the statement period                          |
| PeriodEnd             | DateOnly | End date of the statement period                            |
| StatementDate         | DateOnly | Date the statement was generated                            |
| PaymentDueDate        | Datetime | Payment due date                                            |
| CreatedAt             | Datetime | Record creation timestamp                                   |
| Last4Digits           | String   | Last 4 digits of the card number                            |
| CardType              | String   | Card type (e.g. SecuredCredit)                              |
| PreviousBalance       | Decimal  | Balance carried over from prior statement                   |
| Payments              | Decimal  | Total payments received                                     |
| OtherCredits          | Decimal  | Other credits applied                                       |
| Purchases             | Decimal  | Total purchases made                                        |
| CashAdvance           | Decimal  | Total cash advances                                         |
| InterestCharged       | Decimal  | Interest charged this period                                |
| FeeCharged            | Decimal  | Fees charged this period                                    |
| NewBalance            | Decimal  | Closing balance of the statement                            |
| MinimumPaymentDue     | Decimal  | Minimum payment required                                    |
| CreditLimit           | Decimal  | Credit limit of the card                                    |
| AvailableCredit       | Decimal  | Available credit remaining                                  |
| DaysAccountPastDue    | Int      | Number of days the account is past due                      |
| StatementGenerated    | Bool     | Whether the statement has been generated                    |
| Transactions          | List     | Transactions included if AddTransactionDetails is true      |
| Transactions          |          |                                                             |
| Id                    | Guid     | Internal Id assigned to the transaction                     |
| StatementId           | Guid     | Corresponding StatementId of the transaction                |
| Last4Digits           | Number   | Last 4 digits of the card                                   |
| CardStatus            | String   | Status of the card at the time of the transaction           |
| Type                  | String   | Transaction type                                            |
| Description           | String   | Description of the transaction                              |
| TransactionDate       | Datetime | Date and time the transaction occured                       |
| TransactionPostedDate | Datetime | Date and time the transaction was posted                    |
| Amount                | Decimal  | Transaction amount. Negative amount is a debit.             |
| CreatedAt             | Datetime | Record creation timestamp                                   |

## Get Statement Transactions

Use this endpoint to retrieve a paginated list of card statement transactions for a User.

Returns a `404` if a `StatementId` is provided but not found for the user.

`Method: POST`

`Endpoint: {{env}}/api/card/statements-transactions/filter`

{% tabs %}
{% tab title="Request" %}

```json
{
    "UserId": "8ebd932b-...b92633e14297",
    "UserCardId": "9bd31212b-...b926dc141397",
    "StatementId": "a1b2c3d4-...e5f6",
    "Date": "2025-05-01T00:00:00Z",
    "DateOperator": "IsAfter",
    "Pagination": {
        "PageNumber": 1,
        "ItemsPerPage": 10
    }
}

```

{% endtab %}

{% tab title="Response" %}

```json
{
    "statusCode": 200,
    "message": "POST Request successful.",
    "isError": false,
    "result": {
        "CurrentPage": 1,
        "PageSize": 10,
        "TotalCount": 67,
        "Items": [
            {
                "Id": "41747dff-93b8-4d09-a014-c36e13bf834b",
                "StatementId": "a07e344c-775c-45f8-8b20-2511c0c271ba",
                "Type": "Purchase",
                "Description": "Maintenance fee charged",
                "TransactionDate": "2026-05-07T04:00:00Z",
                "TransactionPostedDate": "2026-05-07T04:00:00Z",
                "Amount": 2,
                "CreatedAt": "2026-05-29T22:08:16.754873Z"
            },
            {
                "Id": "9127fe5a-71b1-44b4-b70f-38e47baa90d7",
                "StatementId": "a07e344c-775c-45f8-8b20-2511c0c271ba",
                "Type": "Credit",
                "Description": "Payment",
                "TransactionDate": "2026-05-07T04:00:00Z",
                "TransactionPostedDate": "2026-05-07T04:00:00Z",
                "Amount": -22.0,
                "CreatedAt": "2026-05-29T22:08:16.754875Z"
            }
        ]
    }
}


```

{% endtab %}
{% endtabs %}

#### **Request Parameters**

| Parameter    | Type         | Mandatory | Description                                                     |
| ------------ | ------------ | --------- | --------------------------------------------------------------- |
| UserId       | Guid         | Yes       | User Id                                                         |
| UserCardId   | Guid         | Yes       | Filter by specific card. Id of the specific card type issued    |
| StatementId  | Guid         | No        | Filter by specific statement. Returns 404 if not found for user |
| Date         | DateTime     | No        | Base date for query (used with DateOperator)                    |
| DateOperator | DateOperator | No        | Date filter type for query                                      |
| DateFrom     | DateTime     | No        | Start date for range query                                      |
| DateTo       | DateTime     | No        | End date for range query                                        |
| Pagination   |              | No        |                                                                 |
| PageNumber   | Number       | No        | The respective page, starting at 1                              |
| ItemsPerPage | Number       | No        | The amount of items per page between 0 and 100                  |

#### **Response**

| Parameter             | Type     | Description                                    |
| --------------------- | -------- | ---------------------------------------------- |
| CurrentPage           | Number   | Current page of results                        |
| PageSize              | Number   | Number of items in page requested              |
| TotalCount            | Number   | Total number of items queryable                |
| Items                 |          |                                                |
| Id                    | Guid     | Transaction Id                                 |
| Last4Digits           | String   | Last 4 digits of the card number               |
| UserCardId            | Guid     | Id of the card associated with the transaction |
| CardStatus            | String   | Status of the card at time of transaction      |
| Type                  | String   | Transaction type                               |
| Description           | String   | Description of the transaction                 |
| TransactionDate       | DateTime | Date and time the transaction occurred         |
| TransactionPostedDate | DateTime | Date and time the transaction was posted       |
| Amount                | Decimal  | Transaction amount (negative = debit)          |
| CreatedAt             | DateTime | Record creation timestamp                      |

**DateOperator:**&#x20;

| Type           | Description                              |
| -------------- | ---------------------------------------- |
| IsInTheLast    | Between user creation date and now       |
| ExactlyMatches | Exactly matches CreatedAt                |
| IsBetween      | Is between CreatedAtFrom and CreatedAtTo |
| IsAfter        | Is after CreatedAt                       |
| IsOnOrAfter    | Is on or after CreatedAt                 |
| IsBefore       | Is before CreatedAt                      |
| IsBeforeOrOn   | Is before or on CreatedAt                |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.zumrails.com/api-reference/cards.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
