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

# Event Types

> Learn about the different types of event notifications that webhooks can capture.

The Marqeta platform sends event notifications to your webhook endpoint.

The types of events that the Marqeta platform supports are categorized on this page. The `type` field further categorizes an event notification by specifying the attempted transaction type, and the [transaction response code](/developer-guides/about-transactions/#_transaction_response_codes) describes the outcome of that attempt. For example:

* A combination of the `authorization` transaction type and `1001` response code indicates a card authorization attempt that failed because the card was expired.

* A combination of the `authorization` or `pindebit` transaction type with a `0000`, `0002`, or `1830` response code indicates a successful transaction. All other response codes indicate failed transactions.

See [Webhooks](/core-api/webhooks/) for the complete endpoint reference.

See [About Webhooks](/developer-guides/about-webhooks/) for information on notifications and a tutorial that walks you through the configuration of your webhook endpoint.

<h2 id="_3d_secure_transition_events">
  3D Secure transition events
</h2>

3D Secure (3DS) transition events include activities for when a merchant requests 3D Secure authentication for a transaction (i.e., the `threedstransition.initialization` event), as well as when the Marqeta platform sends the merchant the outcome of the authentication request (i.e., the `threedstransition.completion` event).

The Marqeta platform supports 3D Secure version 2.x.

The following example shows a 3D Secure 2.x initialization notification message:

```json JSON expandable lines wrap theme={null}
{
  "threedstransitions": [
    {
      "acs_transaction_id": "ba6435a5-9ab4-4233-9d33-81021e276632",
      "ds_transaction_id": "fe4359a5-2ft6-9722-2x85-73045j68300",
      "type": "initialization",
      "state": "PENDING",
      "user_token": "my_user_01",
      "acting_user_token": "my_user_01",
      "card_token": "my_card_01",
      "created_time": "2023-06-16T04:44:51.428Z",
      "network": "VISA",
      "message_version": "2.2.0",
      "authentication_request_type": "PAYMENT",
      "authentication_method": "OTP_SMS",
      "authentication_source": "3DS_SERVER",
      "device": {
        "channel": "BROWSER"
      },
      "requester": {
        "challenge_preference": "NO_CHALLENGE",
        "name": "V3DSReqTestName",
        "customer_care_url": "https://www.miurl.net"
      },
      "recommended_action": "FRICTIONLESS",
      "interaction_counter": 0,
      "transaction": {
        "transaction_type": "PAYMENT",
        "sub_type": "PURCHASE",
        "amount": 500,
        "currency_code": 978,
        "exponent": 2
      },
      "card_acceptor": {
        "acquirer_bin": "400551",
        "merchant_id": "V3DS-12345678",
        "merchant_category_code": "1234",
        "country": "840",
        "name": "Merchant XYZ"
      },
      "token": "ba6435a5-9ab4-4233-9d33-81021e276632-00"
    }
  ]
}
```

The following example shows a 3D Secure 2.x completion notification message:

```json JSON expandable lines wrap theme={null}
{
  "threedstransitions": [
    {
      "acs_transaction_id": "ba6435a5-9ab4-4233-9d33-81021e276632",
      "ds_transaction_id": "fe4359a5-2ft6-9722-2x85-73045j68300",
      "type": "completion",
      "state": "COMPLETE",
      "user_token": "my_user_01",
      "acting_user_token": "my_user_01",
      "card_token": "my_card_01",
      "created_time": "2023-06-16T04:44:05.002Z",
      "network": "VISA",
      "message_version": "2.2.0",
      "authentication_request_type": "PAYMENT",
      "device": {
        "channel": "BROWSER"
      },
      "recommended_action": "FRICTIONLESS",
      "authentication_result": "SUCCESS",
      "cardholder_authentication_verification_value": "0007010623076000000051a49780577552340154",
      "interaction_counter": 0,
      "transaction": {
        "transaction_type": "PAYMENT",
        "sub_type": "PURCHASE",
        "amount": 500,
        "currency_code": 978,
        "exponent": 2
      },
      "card_acceptor": {
        "acquirer_bin": "400551",
        "merchant_id": "V3DS-12345678",
        "merchant_category_code": "1234",
        "country": "840",
        "name": "Merchant XYZ"
      },
      "token": "ba6435a5-9ab4-4233-9d33-81021e276632-01"
    }
  ]
}
```

For more information about 3D Secure, see [3D Secure Overview](/developer-guides/3ds-landing-page/).

<h2 id="_account_holder_transition_events">
  Account holder transition events
</h2>

Account holder transition events include activities such as a user or business being created, suspended, or closed. These activities transition a user’s or business' `status`.

Account holder transition notifications contain detailed information about the events, along with any metadata associated with the `user` or `business` account holder. They are sent as account holder transition events occur.

Each notification contains a `status` field that categorizes the account holder transition event. The following table describes each account holder status. Values in the Status column are the literal values of the notification’s `status` field. When [configuring a webhook](/core-api/webhooks/) to capture these events, you must prefix this with `usertransition` or `businesstransition` (for example, `usertransition.active`).

| Status     | Description                                                                                                   |
| ---------- | ------------------------------------------------------------------------------------------------------------- |
| unverified | User or business was created in an unverified status due to KYC.                                              |
| limited    | User or business was created in a limited status due to KYC.                                                  |
| active     | User or business was created in an active status due to KYC, or passed KYC after being unverified or limited. |
| suspended  | User or business was suspended.                                                                               |
| closed     | User or business was closed.                                                                                  |

Account holder transition notifications are structured as an array within a `usertransitions` or `businesstransitions` element. Multiple notifications can be included in a single notification message. The structure of each individual notification is identical to that of a `usertransition` or `businesstransition` object returned by the `/usertransitions` and `/businesstransitions` endpoints, respectively.

The following example shows a notification message containing a business transition notification, indicating the business was closed.

```json JSON lines wrap theme={null}
{
  "businesstransitions": [
    {
      "token": "90f93e95-e03a-4fe3-baeb-0cde1e9db665",
      "status": "CLOSED",
      "reason_code": "14",
      "channel": "API",
      "created_time": "2023-02-22T19:36:00Z",
      "last_modified_time": "2023-02-22T19:36:00Z",
      "business_token": "1369020d-8e2c-43ff-b957-72676a791e31",
      "metadata": {
        "my_name_1": "my_value_1",
        "my_name_2": "my_value_2"
      }
    }
  ]
}
```

For more information about the `usertransitions` object, see [Users](/core-api/users/). For more information about the `businesstransitions` object, see [Businesses](/core-api/businesses/).

<h2 id="_ach_origination_transition_events">
  ACH origination transition events
</h2>

ACH Origination transition events include activities such as a bank transfer being transitioned to a pending, processing, submitted, completed, returned, or cancelled state. ACH transfer transition notifications are sent when status transition events occur and contain detailed information about the events.

Transition events will be sent with the EventType `banktransfertransition`.

| Type                | Status       | Description                                                                                                         |
| ------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------- |
| `status.pending`    | `PENDING`    | The ACH transfer is transitioned to the `PENDING` state.                                                            |
| `status.processing` | `PROCESSING` | The ACH transfer has been picked to process and is transitioned to the `PROCESSING` state.                          |
| `status.submitted`  | `SUBMITTED`  | The ACH transfer has been submitted to the bank and is transitioned to the `SUBMITTED` state.                       |
| `status.completed`  | `COMPLETED`  | The ACH transfer is transitioned to the `COMPLETED` state.                                                          |
| `status.returned`   | `RETURNED`   | The ACH transfer has been returned by the receiving financial institution and transitioned to the `RETURNED` state. |
| `status.cancelled`  | `CANCELLED`  | The ACH transfer has been canceled by the program and transitioned to the `CANCELLED` state.                        |
| `status.error`      | `ERROR`      | The ACH transfer is transitioned to the `ERROR` state.                                                              |

Bank transfer transition notifications are structured as an array within a `banktransfertransitions` element. Multiple notifications can be included in a single notification message. The structure of each individual notification is identical to that of a `banktransfertransition` object returned by the `/banktransfertransitions` endpoint.

The following example shows a notification message containing a notification that a bank transfer transition has been submitted.

```json JSON lines wrap theme={null}
{
  "banktransfertransitions": [
    {
      "token": "2ad353d8-7596-4380-b60a-07d7d6d66ddd",
      "bank_transfer_token": "b188c288-433b-4678-8a07-4f142d5a0e49",
      "status": "SUBMITTED",
      "reason": "Transfer Submitted",
      "channel": "API",
      "created_time": "2024-06-17T04:46:27.943Z",
      "last_modified_time": "2024-06-17T04:46:27.943Z"
    }
  ]
}
```

For more information about the `banktransfers` object, see [Funding via ACH](/core-api/funding-via-ach/).

<h2 id="_bill_payment_transition_events">
  Bill payment transition events
</h2>

Bill payment transition events include activities such as a bill payment being transitioned to a pending, completed, failed, returned, or canceled state. Bill payment transition notifications are sent when status transition events occur and contain detailed information about the events.

Transition events will be sent with the `billpayment` event type.

| Type               | Status      | Description                                                                                           |
| ------------------ | ----------- | ----------------------------------------------------------------------------------------------------- |
| `status.pending`   | `PENDING`   | The bill payment is transitioned to the `PENDING` state.                                              |
| `status.completed` | `COMPLETED` | The bill payment is transitioned to the `COMPLETED` state.                                            |
| `status.failed`    | `FAILED`    | The bill payment is transitioned to the `FAILED` state.                                               |
| `status.returned`  | `RETURNED`  | The bill payment has been returned by the payment processor and transitioned to the `RETURNED` state. |
| `status.cancelled` | `CANCELLED` | The bill payment has been canceled by the program and transitioned to the `CANCELLED` state.          |

Bill payment transition notifications are structured as an array within a `billpayment` element. Multiple notifications can be included in a single notification message. The structure of each individual notification is identical to that of a `billpayment` object returned by the `/billpay/payments` endpoint.

The following example shows a notification message containing a notification that a bill payment has been submitted and is in the `COMPLETED` state.

```json JSON expandable lines wrap theme={null}
{
    "billpayment": [
    {
      "user_token": "f8b60f6d-3284-4209-acfc-50f783c0126b",
      "payment_token": "018b2735-1f42-7367-a700-5f12ba862dc5",
      "payment_type": "DEBIT_CARD",
      "amount": "25.58",
      "processing_date": "2024-09-13",
      "delivery_date": "2024-09-13",
      "status": "COMPLETED",
      "biller": {
        "token": "22HUr5uWPZoYx",
        "name": "Always Fresh Grocery",
        "address": {
          "address1": "1156 Duran Ln",
          "city": "Oakland",
          "state": "CA",
          "country": "USA",
          "zip_code": "95112"
        }
      },
      "created_time": "2024-09-13T04:04:34.757Z",
      "last_modified_time": "2024-09-13T04:04:34.757Z"
    }
    ]
  }
```

<h2 id="_card_transition_events">
  Card transition events
</h2>

Card transition events include activities such as a card being activated/deactivated, ordered, or shipped. From a technical point of view, they are activities that cause the transition of a card’s `state` or `fulfillment_status` field.

Card transition notifications are sent as card transition events occur and contain detailed information about the events, along with any metadata associated with the card.

Each notification contains a `type` field that categorizes the card transition event. The following table describes each card transition event type. The values in the Type column are the literal values of the notification’s `type` field. When [configuring a webhook](/core-api/webhooks/) to capture card events, you must prefix this type with `cardtransition` (for example, `cardtransition.fulfillment.issued`).

| Type                              | Description                                                                                                                |
| --------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| `fulfillment.digitally_presented` | Card was digitally presented using the `/cards/{token}/showpan` endpoint.                                                  |
| `fulfillment.issued`              | Card was created/issued.                                                                                                   |
| `fulfillment.ordered`             | Card was ordered from card fulfillment provider.                                                                           |
| `fulfillment.rejected`            | Card was rejected by card fulfillment provider.                                                                            |
| `fulfillment.shipped`             | Card was shipped by card fulfillment provider. This field appears only if it is provided by the card fulfillment provider. |
| `state.activated`                 | Card was activated.                                                                                                        |
| `state.limited`                   | Card was limited.                                                                                                          |
| `state.reinstated`                | Card was reinstated from a suspended state.                                                                                |
| `state.suspended`                 | Card was suspended.                                                                                                        |
| `state.terminated`                | Card was terminated.                                                                                                       |

Card transition notifications are structured as an array within a `cards` element. Multiple notifications can be included in a single notification message. The structure of each individual notification is identical to that of a `cardtransition` object returned by the `/cardtransitions` endpoint.

The following example shows a notification message containing two card transition notifications: one for the issuance of a card, and one for the activation of that card.

```json JSON expandable lines wrap theme={null}
{
  "cards": [
    {
      "token": "my_card_transition_token",
      "state": "ACTIVE",
      "reason": "I want to use this card.",
      "channel": "API",
      "validations": {
        "user": {
          "phone": false,
          "ssn": false,
          "birth_date": true
        }
      },
      "type": "state.activated",
      "pan": "111111______0117",
      "expiration": "0820",
      "card_token": "my_card_token",
      "user_token": "my_user_token",
      "fulfillment_status": "ISSUED",
      "created_time": "2022-08-30T22:03:35Z",
      "card_product_token": "my_card_product_token",
      "last_four": "0117",
      "expiration_time": "2025-08-31T23:59:59.000Z",
      "pin_is_set": false,
      "card": {
        "metadata": {
          "my_name_1": "my_value_1",
          "my_name_2": "my_value_2"
        }
      }
    },
    {
      "token": "d7ddfa76-dec1-4c15-81a5-17558f73cc76",
      "state": "UNACTIVATED",
      "reason": "New card",
      "channel": "SYSTEM",
      "validations": {
        "user": {
          "phone": false,
          "ssn": false,
          "birth_date": false
        }
      },
      "type": "fulfillment.issued",
      "pan": "111111______0117",
      "expiration": "0820",
      "card_token": "my_card_token",
      "user_token": "my_user_token",
      "fulfillment_status": "ISSUED",
      "created_time": "2022-08-30T22:01:47Z",
      "card_product_token": "my_card_product_token",
      "last_four": "0117",
      "expiration_time": "2025-08-31T23:59:59.000Z",
      "pin_is_set": false
    },
    {
      "created_timestamp": "2025-02-27T21:02:47:344Z"
    }
  ]
}
```

For more information about the `cardtransitions` object, see [Cards](/core-api/cards/).

<h2 id="_card_action_events">
  Card action events
</h2>

Card action events include PIN set, PIN change, and PIN reveal actions. Card action notifications are sent as card action events occur and contain detailed information about the events.

Each notification contains a `type` field that categorizes the card action event. The following table describes each card action event type. The values in the Type column are the literal values of the notification’s `type` field. When [configuring a webhook](/core-api/webhooks/) to capture these events, you must prefix this type with `cardaction` (for example, `cardaction.pin.set`).

| Type          | Description            |
| ------------- | ---------------------- |
| `pin.changed` | Card PIN was changed.  |
| `pin.reveal`  | Card PIN was revealed. |
| `pin.set`     | Card PIN was set.      |

The following example shows a notification message containing a notification that a PIN was set for a card.

```json JSON lines wrap theme={null}
{
  "cardactions": [
    {
      "card_token": "card-4157026",
      "created_time": "2024-04-17T16:55:03Z",
      "state": "SUCCESS",
      "token": "aaeff659-e4ac-482c-9981-5309669c907b",
      "type": "pin.set",
      "user_token": "user-4157026"
    }
  ]
}
```

For more information about how to configure PIN actions on the Marqeta platform, see the API reference for [PINs](/core-api/pins/). To learn more about PINs in general, including how the PIN retry mechanism works, see the [About Personal Identification Numbers](/developer-guides/pins/) guide.

<h2 id="_chargeback_transition_events">
  Chargeback transition events
</h2>

Chargeback transition events mark the progress of disputes through the arbitration process. From a technical point of view, chargeback transition events cause the transition of a chargeback object’s `state` field.

The chargeback object represents a completed transaction that has been disputed by the issuer. In order for the dispute to be resolved, the chargeback must pass through an arbitration process consisting of multiple phases. Each phase of the arbitration process is represented by a `chargebacktransition` object of a particular type. For example, the creation of a new chargeback incidentally creates a `chargebacktransition` of type `initiated`. After creating a chargeback, you can explicitly move it from one arbitration phase to another by creating a `chargebacktransition` of the appropriate type. Chargebacks do not follow a prescribed path through the arbitration process.

Chargeback transition notifications are sent as chargeback transition events occur and contain detailed information about the events.

Each notification contains a `type` field that categorizes the chargeback transition event. The following table describes each chargeback transition event type. The values in the Type column are the literal values of the notification’s `type` field. When [configuring a webhook](/core-api/webhooks/) to capture these events, you must prefix this type with `chargebacktransition` (for example, `chargebacktransition.representment`).

| Type                     | Description                                                                                                                                                                                                                                                                               |
| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| initiated                | The chargeback has been created. Funds to cover the disputed charges have been credited to the cardholder’s account if the `credit_user` field was `true` or unspecified at the time of creation.                                                                                         |
| representment            | The case is in representment (also known as second presentment). The gateway/acquirer has disputed the chargeback. In some cases, representment does not occur.                                                                                                                           |
| prearbitration           | The case is in prearbitration (also known as arbitration chargeback). Upon receipt of a dispute from the gateway/acquirer (representment), the issuer can submit the chargeback a second time, possibly with more or different information. Only relevant chargebacks assume this status. |
| prearbitration.responded | Specific to Fraud and Authorization reason codes only. Upon responding to receipt of a dispute from the gateway/acquirer (prearbitration), the issuer can submit the response, possibly with new information. Only relevant chargebacks assume this status.                               |
| arbitration              | The case is in arbitration. When a gateway/acquirer disputes a chargeback, the issuer can submit the case to the card network for arbitration after either the first or second (prearbitration) chargeback. In arbitration, the card network decides who wins the chargeback case.        |
| case.won                 | The chargeback case is closed; Marqeta won.                                                                                                                                                                                                                                               |
| case.lost                | The chargeback case is closed; Marqeta lost.                                                                                                                                                                                                                                              |
| network.rejected         | The card network rejected the chargeback submission.                                                                                                                                                                                                                                      |
| written.off.issuer       | Can be transitioned to only from `case.lost` or `network.rejected`. The chargeback is credited to the GPA of the user or business and Marqeta absorbs the cost.                                                                                                                           |
| written.off.program      | Can be transitioned to only from `case.lost` or `network.rejected`. The chargeback is credited to the GPA of the user or business and the Marqeta customer absorbs the cost through a debit from the program funding source.                                                              |

Chargeback transition notifications are structured as an array within a `chargebacktransitions` element. Multiple notifications can be included in a single notification message.

The following example shows a notification message containing two chargeback transition notifications:

```json JSON expandable lines wrap theme={null}
{
  "chargebacktransitions": [
    {
      "token": "my_chargeback_transition_11",
      "state": "PREARBITRATION",
      "previous_state": "REPRESENTMENT",
      "channel": "ISSUER",
      "chargeback_token": "my_chargeback_09",
      "reason": "Product not received",
      "transaction_token": "710",
      "created_time": "2023-10-06T23:07:18Z",
      "last_modified_time": "2023-10-06T23:07:18Z",
      "type": "prearbitration"
    },
    {
      "token": "my_chargeback_transition_10",
      "state": "REPRESENTMENT",
      "previous_state": "INITIATED",
      "channel": "ISSUER",
      "chargeback_token": "my_chargeback_08",
      "reason": "Product not received",
      "transaction_token": "708",
      "created_time": "2023-10-05T23:55:20Z",
      "last_modified_time": "2023-10-05T23:55:20Z",
      "type": "representment"
    }
  ]
}
```

The following example shows a notification message for a `prearbitration.responded` event, specific to Fraud and Authorization reason codes only:

```json JSON lines wrap theme={null}
{
  "chargebacktransitions": [
    {
      "token" : "ff7a326a-cc29-47b8-bcb7-313ccbcceb38",
      "state" : "PREARB_RESPONDED",
      "previous_state" : "PREARBITRATION",
      "channel" : "ISSUER_AUTOMATED",
      "chargeback_token" : "6619bcac-858f-4173-8bd6-d98b8da8ac20",
      "reason" : "ACCEPT_PARTIAL",
      "transaction_token" : "fc43b591-8929-4759-aaa5-299f5d7e7ba3",
      "created_time" : "2024-03-31T20:03:23Z",
      "last_modified_time" : "2024-03-31T20:03:23Z",
      "type" : "prearbitration.responded"
    }
  ]
}
```

<h2 id="_commando_mode_transition_events">
  Commando Mode transition events
</h2>

Commando Mode transition events include enabling and disabling a Commando Mode control set for the associated program gateway funding source. These activities transition the `current_state.commando_enabled` field of a specific Commando Mode control set.

Commando Mode transition notifications are sent as transition events occur and contain detailed information about the events. When [configuring a webhook](/core-api/webhooks/) to capture these events, you must prefix the event type (such as enabled or disabled) with `commandomodetransition`. For example, to capture when a Commando Mode control set is enabled, you must configure a webhook for the `commandomodetransition.enabled` event.

The following table describes each Commando Mode transition event type.

| Type     | Description                                              |
| -------- | -------------------------------------------------------- |
| enabled  | Indicates that a Commando Mode control set was enabled.  |
| disabled | Indicates that a Commando Mode control set was disabled. |

The following example shows a notification message containing a Commando Mode transition notification, indicating the Commando Mode control set was disabled.

```json JSON lines wrap theme={null}
{
  "commandomodetransitions": [
    {
      "token": "my_transition",
      "commando_mode_token": "my_commando_mode",
      "transition": {
        "commando_enabled": "false",
        "reason": "Connection restored",
        "channel": "API",
        "username": "my_user"
      },
      "created_time": "2024-05-28T23:21:46Z"
    }
  ]
}
```

For more information about the `commandomodes` object, see [Commando Mode](/core-api/commando-mode/).

<h2 id="_credit_account_delinquency_state_transition_events">
  Credit account delinquency state transition events
</h2>

Credit account delinquency state transition events occur when a credit account becomes delinquent and falls behind on its payments or becomes current and is brought up to date on its payments. These events cause the delinquency state’s `is_delinquent` field to toggle between `true` and `false`.

Delinquency state transition notifications are sent as delinquency state transition events occur and contain detailed information about the events.

Each notification contains a `status` field that indicates the account’s new delinquency status. The following table describes each delinquency status. Values in the Status column are the literal values of the notification’s status field. Values in the Type field are the literal webhook event type.

When [configuring a webhook](/core-api/webhooks/) to subscribe to credit events, set the `type` value to `credit.*`. This enables Marqeta to send notifications for all credit events, including credit account delinquency state transition events. The ability to receive individual credit events will be available in a future release. For more on webhooks, see [Webhooks](/core-api/webhooks/)

| Status     | Type              | Description                                                                                                        |
| ---------- | ----------------- | ------------------------------------------------------------------------------------------------------------------ |
| CURRENT    | status.current    | The account transitioned to a current status and is no longer delinquent. Transition to `DELINQUENT` is permitted. |
| DELINQUENT | status.delinquent | The account transitioned to a delinquent status and is no longer current. Transition to `CURRENT` is permitted.    |

The following example shows a `credit.delinquencytransition.current` event.

```json JSON lines wrap theme={null}
{
  "creditdelinquencytransitions": [
    {
      "token": "delinquency_transition_token_1234",
      "account_token": "account_token_123",
      "is_invalidated": false,
      "original_status": "DELINQUENT",
      "status": "CURRENT",
      "created_time": "2023-01-10T18:35:49Z"
    }
  ]
}
```

For more information about the `creditdelinquencytransitions` object, see [Retrieve delinquency state transition](/core-api/credit-account-delinquency/#retrieve_delinquency_transition).

<h2 id="_credit_account_payment_transition_events">
  Credit account payment transition events
</h2>

The following applies to ACH payments on credit accounts only.

Credit account payment transition events include activities such as a payment being initiated, submitted, or returned on a credit account. From a technical point of view, they are activities that cause the transition of a payment’s `status` field.

Payment transition notifications are sent as payment transition events occur and contain detailed information about the events.

Each notification contains a `status` field that categorizes the payment transition event. The following table describes each payment status. Values in the Status column are the literal values of the notification’s `status` field.

When [configuring a webhook](/core-api/webhooks/) to subscribe to credit events, set the `type` value to `credit.*`. This enables Marqeta to send notifications for all credit events, including credit account payment transition events. The ability to receive individual credit events will be available in a future release. For more on webhooks, see [Webhooks](/core-api/webhooks/)

| Status     | Description                                                                                                                                   |
| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| initiated  | Payment was initiated.                                                                                                                        |
| pending    | Payment was successfully created.                                                                                                             |
| processing | Payment is being processed by the ACH processor.                                                                                              |
| submitted  | Payment was submitted to the bank.                                                                                                            |
| completed  | Payment is completed.                                                                                                                         |
| returned   | Payment was returned.                                                                                                                         |
| refunded   | Payment was refunded.                                                                                                                         |
| cancelled  | Pending payment was canceled by <a href="/core-api/credit-account-payments/#transition_payment">transitioning the account payment status</a>. |

The following example shows a `credit.paymenttransition.completed` event.

```json JSON lines wrap theme={null}
{
  "creditpaymenttransitions": [
    {
      "token": "my_payment_transition_token1234",
      "account_token": "my_credit_account_token1234",
      "payment_token": "my_credit_account_payment_token1234",
      "status": "COMPLETED",
      "refund_details": null,
      "created_time": "2023-08-17T18:26:47.591Z"
    }
  ]
}
```

For more information about the `creditpaymenttransitions` object, see [Transition account payment status](/core-api/credit-account-payments/#transition_payment).

<h2 id="_credit_account_statement_event">
  Credit account statement event
</h2>

The credit account statement event occurs when a statement is generated on the billing cycle day and contains detailed information about the statement, including the opening date, closing date, closing balance, and more.

When [configuring a webhook](/core-api/webhooks/) to subscribe to credit events, set the `type` value to `credit.*`. This enables Marqeta to send notifications for all credit events, including the credit account statement event. The ability to receive individual credit events will be available in a future release. For more on webhooks, see [Webhooks](/core-api/webhooks/)

The following example shows a `credit.accountstatement.created` event.

```json JSON expandable lines wrap theme={null}
{
  "creditaccountstatements": [
    {
      "token": "my_credit_account_statement_token",
      "account_token": "my_credit_account_token",
      "opening_balance": 496.45,
      "closing_balance": 506.41,
      "credit_limit": 500,
      "available_credit": 0,
      "past_due_amount": 10,
      "purchases": 0,
      "interest": 4.96,
      "fees": 15,
      "credits": 0,
      "payments": 10,
      "days_in_billing_cycle": 31,
      "cycle_type": "REVOLVING",
      "opening_date": "2023-03-01T05:00:00.000Z",
      "closing_date": "2023-04-01T03:59:59.999Z",
      "created_time": "2022-08-18T22:04:31.261Z"
    }
  ]
}
```

For more information about the `creditaccountstatements` object, see [Retrieve account statement summary](/core-api/credit-account-statements/#retrieve_statement_summary).

<h2 id="_credit_account_transition_events">
  Credit account transition events
</h2>

Credit account transition events include activities such as a credit account being activated, unactivated, suspended, or terminated. From a technical point of view, they are activities that cause the transition of a credit account’s `status` field.

Credit account transition notifications are sent as the credit account transition events occur and contain detailed information about the events.

Each notification contains a `status` field that indicates the account’s new status. The following table describes each credit account status. Values in the Status column are the literal values of the notification’s `status` field. Values in the Type field are the literal webhook event type.

When [configuring a webhook](/core-api/webhooks/) to subscribe to credit events, set the `type` value to `credit.*`. This enables Marqeta to send notifications for all credit events, including credit account transition events. The ability to receive individual credit events will be available in a future release. For more on webhooks, see [Webhooks](/core-api/webhooks/)

| Status      | Type                 | Description                                                                                                                                                    |
| ----------- | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| UNACTIVATED | `status.unactivated` | The unactivated credit account is awaiting activation by the account holder. Transition to `ACTIVATED` is permitted.                                           |
| ACTIVE      | `status.activated`   | The activated credit account is functional and allows account activity such as credit transactions. Transitions to `SUSPENDED` and `TERMINATED` are permitted. |
| SUSPENDED   | `status.suspended`   | The suspended credit account is temporarily non-functional. Transitions to `ACTIVATED` or `TERMINATED` are permitted.                                          |
| TERMINATED  | `status.terminated`  | The terminated credit account is permanently non-functional. Transition to `CHARGE_OFF` is permitted.                                                          |
| CHARGE\_OFF | `status.chargeoff`   | The charged off credit account is permanently non-functional and cannot transition to another status. This is a terminal status.                               |

The following example shows a `credit.accounttransition.status.activated` event.

```json JSON lines wrap theme={null}
{
  "creditaccounttransitions": [
    {
      "token": "my_credit_account_transition_token1234",
      "account_token": "my_credit_account_token1234",
      "original_status": "UNACTIVATED",
      "status": "ACTIVE",
      "created_time": "2023-08-18T20:25:10.408Z"
    }
  ]
}
```

For more information about the `creditaccounttransitions` object, see [Retrieve account transition](/core-api/credit-account-transitions/#get_account_transition).

<h2 id="_credit_journal_entry_events">
  Credit journal entry events
</h2>

The following applies to credit journal entry events only. For debit transactions, see [Transaction events](#_transaction_events).

Journal entry events include activities on a credit account such as purchase authorizations, purchase authorization clearings, refunds, credit balance refunds, adjustments, fees, interest, rewards, and payments. Although you might think of a purchase authorization and purchase authorization clearing as two parts of the same conceptual journal entry, the Marqeta platform treats each journal entry-related message exchange as a separate journal entry event with a unique identifying token.

Journal entry notifications are sent in real time as journal entry events occur and contain detailed information about the events.

All journal entry notifications contain a `type` field that categorizes the journal entry event. The following table lists all possible values for the `type` field. The values in the Type column are the literal values of the notification’s `type` field.

When [configuring a webhook](/core-api/webhooks/) to subscribe to credit events, set the `type` value to `credit.*`. This enables Marqeta to send notifications for all credit events, including journal entry events. The ability to receive individual credit events will be available in a future release. For more on webhooks, see [Webhooks](/core-api/webhooks/)

| Type                                                         | Description                                                                                                                                                                                                                                                                                    |
| ------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| account.adjustment                                           | General credit adjustment applied to the credit account. An `account.adjustment` does not relate to an existing journal entry. Final transaction type.                                                                                                                                         |
| account.adjustment.fee                                       | Adjustment to a prior fee journal entry. Can adjust `account.fee.payment.late`, `account.fee.payment.returned`, or `account.fee.interest.minimum`. Final transaction type.                                                                                                                     |
| account.adjustment.interest                                  | Adjustment to a prior `account.interest` journal entry. Final transaction type.                                                                                                                                                                                                                |
| account.adjustment.purchase                                  | Adjustment to a prior `authorization.clearing` journal entry. Final transaction type.                                                                                                                                                                                                          |
| account.adjustment.reward                                    | Adjustment to a prior `account.reward.cashback` journal entry. Final transaction type.                                                                                                                                                                                                         |
| account.balancerefund                                        | Credit balance refund applied to the credit account, increasing the account’s current balance to 0.00. Final transaction type.                                                                                                                                                                 |
| account.dispute                                              | Dispute was initiated and a provisional credit was applied.<br /><br />**Possibly completed by:**<br /><br />`account.dispute.won`, `account.dispute.lost`, `account.dispute.reversal`, `account.dispute.lost.graceperiod`                                                                     |
| account.dispute.lost                                         | Dispute lost in the merchant’s favor. Reverses the financial impact of `account.dispute`. Final transaction type.                                                                                                                                                                              |
| account.dispute.lost.graceperiod                             | Dispute initiated in an active grace period and lost in the merchant’s favor. Reverses the financial impact of `account.dispute`. Final transaction type.                                                                                                                                      |
| account.dispute.reversal                                     | Dispute withdrawn or reversed. Reverses the financial impact of `account.dispute`. Final transaction type.                                                                                                                                                                                     |
| account.dispute.won                                          | Dispute won in the account holder’s favor. No impact to account balance. Final transaction type.                                                                                                                                                                                               |
| account.fee.annual                                           | Annual periodic fee was applied. Final transaction type.                                                                                                                                                                                                                                       |
| account.fee.interest.minimum                                 | Minimum interest amount applied as a fee if the calculated interest is below a certain threshold. Final transaction type.                                                                                                                                                                      |
| account.fee.monthly                                          | Monthly periodic fee was applied. Final transaction type.                                                                                                                                                                                                                                      |
| account.fee.payment.late                                     | Penalty fee for late payments. Final transaction type.                                                                                                                                                                                                                                         |
| account.fee.payment.returned                                 | Penalty fee for returned payments. Final transaction type.                                                                                                                                                                                                                                     |
| account.interest                                             | Accrued interest applied to the credit account. Final transaction type                                                                                                                                                                                                                         |
| account.payment                                              | Payment initiated.<br /><br />**Possibly completed by:**<br /><br />`account.payment.completed`, `account.payment.canceled`                                                                                                                                                                    |
| account.payment.canceled                                     | Payment canceled. Reverses the financial impact of an `account.payment` journal entry.<br /><br />Final transaction type.                                                                                                                                                                      |
| account.payment.completed                                    | Payment completed. Releases the available credit for the payment, pending any available credit holds on the account. No impact to account balance.<br /><br />**Possibly completed by:**<br /><br />`account.payment.returned`, `account.payment.refunded`                                     |
| account.payment.completed.hold                               | A hold on available credit applied for an `account.payment.completed` journal entry.<br /><br />**Possibly completed by:**<br /><br />`account.payment.completed.hold.released`                                                                                                                |
| account.payment.completed.hold.<br />released                | Indicates that a hold on available credit applied for an `account.payment.completed` journal entry was released.                                                                                                                                                                               |
| account.payment.refunded                                     | Payment refunded. Reverses the financial impact of an `account.payment.completed` journal entry.                                                                                                                                                                                               |
| account.payment.returned                                     | Payment returned. Reverses the financial impact of an `account.payment.completed` journal entry.<br /><br />Final transaction type.                                                                                                                                                            |
| account.reward.auto.cashback                                 | Rewards redeemed to the credit account through the cashback method, as calculated and applied by Marqeta. Final transaction type.                                                                                                                                                              |
| account.reward.cashback                                      | Rewards redeemed to the credit account through the cashback method. Final transaction type                                                                                                                                                                                                     |
| authorization                                                | Funds hold due to card usage. Temporary transaction type. Requires settlement.<br /><br />**Possibly completed by:**<br /><br />`authorization.advice`, `authorization.reversal`, `authorization.reversal.issuerexpiration`, `authorization.clearing`                                          |
| authorization.advice                                         | Decreases the amount of an existing `authorization` journal entry.<br /><br />Temporary transaction type. Requires settlement. Must be honored.<br /><br />**Possibly completed by:**<br /><br />`authorization.reversal`, `authorization.reversal.issuerexpiration`, `authorization.clearing` |
| authorization.clearing                                       | Completes an `authorization` journal entry. Final transaction type.                                                                                                                                                                                                                            |
| authorization.incremental                                    | Increases the amount of a prior `authorization` journal entry by adding to it without replacing it.<br /><br />Temporary transaction type. Requires settlement.<br /><br />**Possibly completed by:**<br /><br />`authorization.reversal`, `authorization.clearing`                            |
| authorization.reversal                                       | Reverses or drops an `authorization` journal entry due to elapsed time.                                                                                                                                                                                                                        |
| authorization.reversal.issuerexpiration                      | Reverses or drops an `authorization` journal entry due to elapsed time. Initiated by Marqeta.                                                                                                                                                                                                  |
| originalcredit.authorization                                 | Original credit transaction (OCT) authorization for crediting funds to a credit account. Temporary transaction type.<br /><br />**Possibly completed by:**<br /><br />`original.credit.authorization.reversal`, `original.credit.authorization.clearing`                                       |
| originalcredit.authorization.clearing                        | Completes an `originalcredit.authorization` journal entry.                                                                                                                                                                                                                                     |
| originalcredit.authorization.reversal                        | Reverses the financial impact of an `originalcredit.authorization` journal entry.                                                                                                                                                                                                              |
| originalcredit.authorization.reversal.<br />issuerexpiration | Reverses the financial impact of an `originalcredit.authorization` journal entry due to elapsed time. Initiated by Marqeta.                                                                                                                                                                    |
| originalcredit.authpluscapture                               | Single-message OCT for crediting funds to a credit card.                                                                                                                                                                                                                                       |
| originalcredit.authpluscapture.<br />reversal                | Reverses the financial impact of an `originalcredit.authpluscapture` journal entry. Final transaction type.                                                                                                                                                                                    |
| pindebit                                                     | PIN-debit transaction.                                                                                                                                                                                                                                                                         |
| pindebit.authorization.clearing                              | Force-capture completed PIN-debit authorization.                                                                                                                                                                                                                                               |
| pindebit.refund                                              | Refunds a PIN-debit transaction.                                                                                                                                                                                                                                                               |
| refund                                                       | Refunds a cardholder’s transaction. Final transaction type.                                                                                                                                                                                                                                    |
| refund.authorization                                         | Authorization for a purchase return. Temporary transaction type.<br /><br />**Possibly completed by:**<br /><br />`refund.authorization.reversal`, `refund.authorization.clearing`                                                                                                             |
| refund.authorization.clearing                                | Completes a `refund.authorization` purchase return authorization journal entry.                                                                                                                                                                                                                |
| refund.authorization.reversal                                | Reverses a `refund.authorization` purchase return authorization journal entry.                                                                                                                                                                                                                 |
| refund.authorization.reversal.<br />issuerexpiration         | Reverses or drops a purchase return authorization due to elapsed time. Initiated by Marqeta                                                                                                                                                                                                    |

Journal entry notifications are structured as an array within a `creditjournalentries` element.

The following is a sample purchase journal entry notification. The `detail_object` contains the purchase details, in this case. However, fields in the `detail_object` vary based on the group value. For example, purchases return purchase details; adjustments return adjustment details; interest returns interest details.

The following example shows a `credit.journalentry.authorization` event.

```json JSON expandable lines wrap theme={null}
{
  "creditjournalentries": [
    {
      "token": "my_journal_entry_token1234",
      "related_token": null,
      "root_token": null,
      "account_token": "my_credit_account_token1234",
      "card_token": "my_credit_card_token1234",
      "status": "PENDING",
      "group": "PURCHASE",
      "type": "authorization",
      "id": "12345678",
      "amount": 10,
      "currency_code": "USD",
      "memo": "Jane's Bakery",
      "request_time": "2023-08-18T22:06:52.000Z",
      "impact_time": "2023-08-18T22:07:21.422Z",
      "created_time": "2023-08-18T22:07:21.422Z",
      "dispute_token": null,
      "detail_token": "my_detail_token1234",
      "detail_object": {
        "type": "authorization",
        "state": "PENDING",
        "identifier": "234",
        "token": "my_detail_token1234",
        "user_token": "my_user_token",
        "acting_user_token": "my_user_token",
        "card_token": "my_credit_card_token1234",
        "gpa": {
          "currency_code": "USD",
          "ledger_balance": 510.87,
          "available_balance": 0,
          "credit_balance": 0,
          "pending_credits": 0,
          "impacted_amount": -10,
          "balances": {
            "USD": {
              "currency_code": "USD",
              "ledger_balance": 510.87,
              "available_balance": 0,
              "credit_balance": 0,
              "pending_credits": 0,
              "impacted_amount": -10
            }
          }
        },
        "gpa_order": {
          "token": "my_gpa_order_token1234",
          "amount": 10,
          "created_time": "2023-08-18T22:06:53Z",
          "last_modified_time": "2023-08-18T22:06:53Z",
          "transaction_token": "my_transaction_token1234",
          "state": "PENDING",
          "response": {
            "code": "0000",
            "memo": "Approved or completed successfully"
          },
          "funding": {
            "amount": 10,
            "source": {
              "type": "programgateway",
              "token": "**********1ab2",
              "active": true,
              "name": "credit_backed_funding_source",
              "is_default_account": false,
              "created_time": "2023-10-14T17:26:35Z",
              "last_modified_time": "2023-10-14T17:26:35Z"
            },
            "gateway_log": {
              "order_number": "my_gateway_token12345",
              "transaction_id": "my_transaction_id1234",
              "message": "Approved or completed successfully",
              "duration": 485,
              "timed_out": false,
              "response": {
                "code": "200",
                "data": {
                  "jit_funding": {
                    "token": "my_jit_funding_token1234",
                    "method": "pgfs.authorization",
                    "user_token": "my_user_token",
                    "acting_user_token": "my_user_token",
                    "amount": 10
                  }
                }
              }
            }
          },
          "funding_source_token": "**********1ab2",
          "jit_funding": {
            "token": "my_transaction_id1234",
            "method": "pgfs.authorization",
            "user_token": "my_user_token",
            "acting_user_token": "my_user_token",
            "amount": 10
          },
          "user_token": "my_user_token",
          "currency_code": "USD"
        },
        "duration": 837,
        "created_time": "2023-08-18T22:06:52Z",
        "user_transaction_time": "2023-08-18T22:06:52Z",
        "settlement_date": "2023-08-18T00:00:00Z",
        "request_amount": 10,
        "amount": 10,
        "currency_code": "USD",
        "approval_code": "974406",
        "response": {
          "code": "0000",
          "memo": "Approved or completed successfully"
        },
        "network": "DISCOVER",
        "acquirer_fee_amount": 0,
        "acquirer": {
          "system_trace_audit_number": "376582"
        },
        "user": {
          "metadata": {
            "key1": "value1",
            "key2": "value2",
            "notification_email": "user@domain.com",
            "notification_language": "spa"
          }
        },
        "card": {
          "last_four": "9949",
          "metadata": {}
        },
        "issuer_received_time": "2023-08-18T22:06:52.771Z",
        "issuer_payment_node": "f8205a67b12b90d695b15704a64c074b",
        "network_reference_id": "484311571095",
        "card_acceptor": {
          "mid": "1234",
          "mcc": "6411",
          "name": "Jane's Bakery",
          "street_address": "1989 Fillmore St",
          "city": "San Francisco",
          "state": "CA",
          "postal_code": "94115",
          "country_code": "USA"
        },
        "pos": {
          "pin_present": false,
          "partial_approval_capable": true,
          "purchase_amount_only": false,
          "is_recurring": false,
          "is_installment": false
        }
      }
    }
  ]
}
```

For more information about the `creditjournalentries` object, see [Retrieve account journal entry](/core-api/credit-account-journal-entries/#get_account_journal_entry).

<h2 id="_credit_ledger_entry_events">
  Credit ledger entry events
</h2>

<Warning>
  **Important**
  This feature is being deprecated and replaced by journal entries. For journal entry events, see [Credit journal entry events](#_credit_journal_entry_events). For more on journal entries, see [About Credit Account Journal Entries](/developer-guides/about-credit-account-journal-entries/).
</Warning>

Ledger entry events include activities on a credit account such as purchase authorizations, purchase authorization clearings, refunds, credit balance refunds, adjustments, fees, interest, rewards, and payments. Although you might think of a purchase authorization and purchase authorization clearing as two parts of the same conceptual ledger entry, the Marqeta platform treats each ledger entry-related message exchange as a separate ledger entry event with a unique identifying token.

Ledger entry notifications are sent in real time as ledger entry events occur and contain detailed information about the events.

All ledger entry notifications contain a `type` field that categorizes the ledger entry event. The following table lists all possible values for the `type` field. The values in the Type column are the literal values of the notification’s `type` field.

When [configuring a webhook](/core-api/webhooks/) to subscribe to credit events, set the `type` value to `credit.*`. This enables Marqeta to send notifications for all credit events, including ledger entry events. For more on webhooks, see [Webhooks](/core-api/webhooks/)

| Type                                               | Description                                                                                                                                                                                                                                                      |
| -------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| authorization                                      | Funds hold due to card usage. Temporary transaction type. Requires settlement.                                                                                                                                                                                   |
| authorization.incremental                          | Increases the amount of a previous authorization by adding to it without replacing it.                                                                                                                                                                           |
| refund.authorization                               | Authorization for a purchase return. Temporary transaction type.                                                                                                                                                                                                 |
| authorization.clearing                             | Completes an authorization.                                                                                                                                                                                                                                      |
| authorization.reversal                             | Reverses or drops an authorization not due to elapsed time.                                                                                                                                                                                                      |
| authorization.advice                               | Replaces the amount of an existing authorization. Temporary transaction type. Requires settlement.                                                                                                                                                               |
| account.adjustment                                 | Ghost adjustment was applied.                                                                                                                                                                                                                                    |
| account.adjustment.fee                             | Fee adjustment was applied.                                                                                                                                                                                                                                      |
| account.adjustment.interest                        | Interest adjustment was applied.                                                                                                                                                                                                                                 |
| account.adjustment.purchase                        | Provisional credit was applied or reversed, either because a dispute was initiated, or because a dispute was resolved in the merchant’s favor.<br /><br />**NOTE:** If the amount is negative, the provisional credit was applied; if positive, it was reversed. |
| account.adjustment.purchase.<br />graceperiod      | A previously applied provisional credit on a disputed transaction in an active grace period was reversed because the dispute was resolved in the merchant’s favor.                                                                                               |
| account.adjustment.reward                          | Reward adjustment was applied.                                                                                                                                                                                                                                   |
| account.balance.refund                             | Credit balance refund was applied.                                                                                                                                                                                                                               |
| account.fee.annual                                 | Annual periodic fee was applied. Final transaction type.                                                                                                                                                                                                         |
| account.fee.latepayment                            | Late payment fee was applied.                                                                                                                                                                                                                                    |
| account.fee.minimum.interest                       | Minimum interest fee was applied.                                                                                                                                                                                                                                |
| account.fee.monthly                                | Monthly periodic fee was applied. Final transaction type.                                                                                                                                                                                                        |
| account.fee.returnpayment                          | Returned payment fee was applied.                                                                                                                                                                                                                                |
| account.interest                                   | Interest charges were applied.                                                                                                                                                                                                                                   |
| account.payment.canceled                           | Payment was canceled.                                                                                                                                                                                                                                            |
| account.payment.completed                          | Payment was completed.                                                                                                                                                                                                                                           |
| account.payment.pending                            | Payment is pending.                                                                                                                                                                                                                                              |
| account.payment.refunded                           | Payment was refunded.                                                                                                                                                                                                                                            |
| account.payment.returned                           | Payment was returned.                                                                                                                                                                                                                                            |
| account.reward.cashback                            | Rewards were posted.                                                                                                                                                                                                                                             |
| authorization                                      | Funds hold due to card usage. Temporary transaction type. Requires settlement.                                                                                                                                                                                   |
| authorization.advice                               | Replaces the amount of an existing authorization. Temporary transaction type. Requires settlement.                                                                                                                                                               |
| authorization.clearing                             | Completes an authorization.                                                                                                                                                                                                                                      |
| authorization.incremental                          | Increases the amount of a previous authorization by adding to it without replacing it.                                                                                                                                                                           |
| authorization.reversal                             | Reverses or drops an authorization not due to elapsed time.                                                                                                                                                                                                      |
| authorization.reversal.issuerexpiration            | Reverses or drops an authorization due to elapsed time; initiated by Marqeta.                                                                                                                                                                                    |
| original.credit.authorization                      | Original credit transaction (OCT) authorization for disbursing funds to a credit card.                                                                                                                                                                           |
| original.credit.authorization.reversal             | Reverses the financial impact of an OCT authorization.                                                                                                                                                                                                           |
| original.credit.authorization.clearing             | Completes an OCT authorization.                                                                                                                                                                                                                                  |
| original.credit.auth\_plus\_capture                | Single-message OCT for disbursing funds to a credit card.                                                                                                                                                                                                        |
| original.credit.auth\_plus\_capture.<br />reversal | Reverses the financial impact of a single-message OCT.                                                                                                                                                                                                           |
| pindebit                                           | PIN-debit transaction.                                                                                                                                                                                                                                           |
| pindebit.authorization.clearing                    | Force-capture completed PIN-debit authorization.                                                                                                                                                                                                                 |
| pindebit.refund                                    | Refunds a PIN-debit transaction.                                                                                                                                                                                                                                 |
| refund                                             | Refunds a cardholder’s transaction.                                                                                                                                                                                                                              |
| refund.authorization                               | Authorization for a purchase return. Temporary transaction type.                                                                                                                                                                                                 |
| refund.authorization.clearing                      | Completes a purchase return authorization.                                                                                                                                                                                                                       |
| refund.authorization.reversal                      | Reverses a purchase return authorization.                                                                                                                                                                                                                        |

Ledger entry notifications are structured as an array within a `creditledgerentries` element.

The following is a sample purchase ledger entry notification. The `detail_object` contains the purchase details, in this case. However, fields in the `detail_object` vary based on the group value. For example, purchases return purchase details; adjustments return adjustment details; interest returns interest details.

The following example shows a `credit.ledgerentry.authorization` event.

```json JSON expandable lines wrap theme={null}
{
  "creditledgerentries": [
    {
      "token": "my_ledger_entry_token1234",
      "related_token": null,
      "root_token": null,
      "account_token": "my_credit_account_token1234",
      "card_token": "my_credit_card_token1234",
      "status": "PENDING",
      "group": "PURCHASE",
      "type": "authorization",
      "id": "12345678",
      "amount": 10,
      "currency_code": "USD",
      "memo": "Jane's Bakery",
      "request_time": "2023-08-18T22:06:52.000Z",
      "impact_time": "2023-08-18T22:07:21.422Z",
      "created_time": "2023-08-18T22:07:21.422Z",
      "dispute_token": null,
      "detail_token": "my_detail_token1234",
      "detail_object": {
        "type": "authorization",
        "state": "PENDING",
        "identifier": "234",
        "token": "my_detail_token1234",
        "user_token": "my_user_token",
        "acting_user_token": "my_user_token",
        "card_token": "my_credit_card_token1234",
        "gpa": {
          "currency_code": "USD",
          "ledger_balance": 510.87,
          "available_balance": 0,
          "credit_balance": 0,
          "pending_credits": 0,
          "impacted_amount": -10,
          "balances": {
            "USD": {
              "currency_code": "USD",
              "ledger_balance": 510.87,
              "available_balance": 0,
              "credit_balance": 0,
              "pending_credits": 0,
              "impacted_amount": -10
            }
          }
        },
        "gpa_order": {
          "token": "my_gpa_order_token1234",
          "amount": 10,
          "created_time": "2023-08-18T22:06:53Z",
          "last_modified_time": "2023-08-18T22:06:53Z",
          "transaction_token": "my_transaction_token1234",
          "state": "PENDING",
          "response": {
            "code": "0000",
            "memo": "Approved or completed successfully"
          },
          "funding": {
            "amount": 10,
            "source": {
              "type": "programgateway",
              "token": "**********1ab2",
              "active": true,
              "name": "credit_backed_funding_source",
              "is_default_account": false,
              "created_time": "2023-10-14T17:26:35Z",
              "last_modified_time": "2023-10-14T17:26:35Z"
            },
            "gateway_log": {
              "order_number": "my_gateway_token12345",
              "transaction_id": "my_transaction_id1234",
              "message": "Approved or completed successfully",
              "duration": 485,
              "timed_out": false,
              "response": {
                "code": "200",
                "data": {
                  "jit_funding": {
                    "token": "my_jit_funding_token1234",
                    "method": "pgfs.authorization",
                    "user_token": "my_user_token",
                    "acting_user_token": "my_user_token",
                    "amount": 10
                  }
                }
              }
            }
          },
          "funding_source_token": "**********1ab2",
          "jit_funding": {
            "token": "my_transaction_id1234",
            "method": "pgfs.authorization",
            "user_token": "my_user_token",
            "acting_user_token": "my_user_token",
            "amount": 10
          },
          "user_token": "my_user_token",
          "currency_code": "USD"
        },
        "duration": 837,
        "created_time": "2023-08-18T22:06:52Z",
        "user_transaction_time": "2023-08-18T22:06:52Z",
        "settlement_date": "2023-08-18T00:00:00Z",
        "request_amount": 10,
        "amount": 10,
        "currency_code": "USD",
        "approval_code": "974406",
        "response": {
          "code": "0000",
          "memo": "Approved or completed successfully"
        },
        "network": "DISCOVER",
        "acquirer_fee_amount": 0,
        "acquirer": {
          "system_trace_audit_number": "376582"
        },
        "user": {
          "metadata": {
            "key1": "value1",
            "key2": "value2",
            "notification_email": "user@domain.com",
            "notification_language": "spa"
          }
        },
        "card": {
          "last_four": "9949",
          "metadata": {}
        },
        "issuer_received_time": "2023-08-18T22:06:52.771Z",
        "issuer_payment_node": "f8205a67b12b90d695b15704a64c074b",
        "network_reference_id": "484311571095",
        "card_acceptor": {
          "mid": "1234",
          "mcc": "6411",
          "name": "Jane's Bakery",
          "street_address": "1989 Fillmore St",
          "city": "San Francisco",
          "state": "CA",
          "postal_code": "94115",
          "country_code": "USA"
        },
        "pos": {
          "pin_present": false,
          "partial_approval_capable": true,
          "purchase_amount_only": false,
          "is_recurring": false,
          "is_installment": false
        }
      }
    }
  ]
}
```

For more on the `creditledgerentries` object, see [Retrieve account ledger entry](/core-api/credit-account-ledger-entries/#get_account_ledger_entry).

<h2 id="_credit_product_transition_events">
  Credit product transition events
</h2>

<Warning>
  **Important**
  This feature is being deprecated and replaced by credit product policies, which is part of the bundles feature. For more on policies and bundles in a credit program, see [Credit Programs in the Marqeta Dashboard](/developer-guides/credit-programs-dashboard/).
</Warning>

Credit product transition events include activities such as a credit product being activated, pending approval, sent for revision, or rejected. These activities transition a credit product’s status.

Credit product transition notifications contain detailed information about the events. They are sent as credit product transition events occur.

Each notification contains a `status` field that categorizes the credit product transition event. The following table describes each credit product status. Values in the Status column are the literal values of the notification’s `status` field. Values in the Type field are the literal webhook event type.

When [configuring a webhook](/core-api/webhooks/) to subscribe to credit events, set the `type` value to `credit.*`. This enables Marqeta to send notifications for all credit events, including credit product transition events. For more on webhooks, see [Webhooks](/core-api/webhooks/)

| Status            | Type                   | Description                                             |
| ----------------- | ---------------------- | ------------------------------------------------------- |
| ACTIVE            | status.activated       | Credit product was activated.                           |
| PENDING APPROVAL  | status.pendingapproval | Credit product was created and is now pending approval. |
| SENT FOR REVISION | status.sentforrevision | Credit product was sent for revision.                   |
| REJECTED          | status.rejected        | Credit product was rejected.                            |

The following example shows a `credit.producttransition.state.activated` event.

```json JSON lines wrap theme={null}
{
  "creditproducttransitions": [
    {
      "product_token": "0790d79b-0071-11ec-9903-5b2c4ae78df1",
      "status": "ACTIVE",
      "created_time": "2023-08-18T22:09:59.988Z"
    }
  ]
}
```

For more on the `creditproducttransitions` object, see [Retrieve credit product](/core-api/credit-products/#retrieve_product).

<h2 id="_credit_reward_entry_events">
  Credit reward entry events
</h2>

Credit reward entry events include information about credit reward activity, such as creating a credit reward entry or posting a credit reward entry to a credit account.

Credit reward entry notifications are sent when credit reward entry events occur. These notifications contain detailed information about credit reward entry events, such as the transaction amount, the value of the credit reward entry, and any related tokens.

For more on webhooks, see [Webhooks](/core-api/webhooks/).

The following example shows a notification for a `creditrewardentry` event.

```json JSON lines wrap theme={null}
{
  "creditrewardentry": [
    {
      "token": "948d82d0-2f6f-46e9-bfa2-68e0f2e1192a",
      "reward_account_token": "bb0bbc60-ba92-42c8-8556-f4b807fafb2f",
      "value": 5000,
      "note": "Account completed customer feedback survey for 5000 bonus points",
      "created_time": "2024-01-04T20:37:11Z"
    }
  ]
}
```

<h2 id="_credit_reward_accounts_events">
  Credit reward accounts events
</h2>

Credit reward account events include information related to a reward account: for example, whether the credit reward account is active or not, and any credit rewards rules associated with it.

For more on webhooks, see [Webhooks](/core-api/webhooks/).

The following example shows a notification for a `creditrewardaccounts` event.

```json JSON lines wrap theme={null}
{
  "creditrewardaccounts": [
    {
      "token": "4829608d-97e4-4a8c-bdab-20b26e7f243d",
      "credit_account_token": "bbf6c086-4286-4a1c-a3dd-2f54bf6fd799",
      "bundle_token": "f0cf97cb-76f7-47a5-83e7-188b9e741cf9",
      "is_active": true,
      "global_rules": [
      {
        "rule_token": "00fb5637-2dab-4833-aa12-0463e7cf8cbb",
        "description": "Earn 3x on Agricultural Services and Contracted Services and Target"
      }
    ],
    "created_time": "2024-01-05T20:37:11Z",
    "updated_time": "2024-01-05T20:37:11Z"
    }
  ]
}
```

<h2 id="_credit_reward_redemptions_events">
  Credit reward redemptions events
</h2>

Credit reward redemption events include information about the credit reward redemption type, destination, amount, and currency. Credit reward redemption events can also include information about the conversion rate between credit rewards points and dollar amounts to be credited to the corresponding credit account, if the redemption type is set to `STATEMENT_CREDIT`.

For more on webhooks, see [Webhooks](/core-api/webhooks/).

The following example shows a notification for a `creditredemptions` event.

```json JSON lines wrap theme={null}
{
  "creditredemptions": [
    {
      "token": "c21b04ad-37de-4433-890a-3cece8adefc7",
      "type": "EXTERNAL",
      "amount": 1000,
      "conversion_rate": 1.5,
      "destination": "BRAND_WALLET",
      "note": "Redeeming reward balance to Brand Wallet at brand conversion rate 1.5 per point",
      "created_time": "2024-01-05T20:37:11Z"
    }
  ]
}
```

<h2 id="_credit_substatus_events">
  Credit substatus events
</h2>

Credit substatus events occur when a substatus is applied or removed from a resource.

When [configuring a webhook](/core-api/webhooks/) to subscribe to credit events, set the `type` value to `credit.*`. This enables Marqeta to send notifications for all credit events, including credit substatus events. For more information, see [Webhooks](/core-api/webhooks/).

| Event Type  | Description                         |
| ----------- | ----------------------------------- |
| `substatus` | A substatus was created or updated. |

The following example shows a `credit.substatus` event in which a substatus is added to a resource.

```json JSON expandable lines wrap theme={null}
{
  "creditsubstatuses": [
    {
      "token": "d9ccfbfe-3437-11ef-9629-f31812fd8093",
      "resource_type": "USER",
      "resource_token": "badc0de1-5363-4acf-8c95-dedba3300432",
      "substatus": "DECEASED",
      "state": "ACTIVE",
      "is_active": true,
      "attributes": [],
      "created_time": "2024-06-27T03:46:35.372Z",
      "updated_time": "2024-06-27T03:46:35.372Z",
      "events": [
        {
          "state": "ACTIVE",
          "channel": "API",
          "reason": "deceased reported",
          "effective_date": "2024-06-27T03:46:35.373Z",
          "created_time": "2024-06-27T03:46:35.374Z"
        }
      ]
    }
  ]
}
```

The following example shows a `credit.substatus` event for updating a substatus.

```json JSON expandable lines wrap theme={null}
{
  "creditsubstatuses": [
    {
      "token": "d9ccfbfe-3437-11ef-9629-f31812fd8093",
      "resource_type": "USER",
      "resource_token": "badc0de1-5363-4acf-8c95-dedba3300432",
      "substatus": "DECEASED",
      "state": "INACTIVE",
      "is_active": false,
      "attributes": [],
      "created_time": "2024-06-27T03:46:35.372Z",
      "updated_time": "2024-06-27T03:47:43.496Z",
      "events": [
        {
          "state": "INACTIVE",
          "channel": "API",
          "reason": "deceased substatus updated",
          "effective_date": "2024-04-09T11:23:23.000Z",
          "created_time": "2024-06-27T03:47:43.501Z"
        },
        {
          "state": "ACTIVE",
          "channel": "API",
          "reason": "deceased reported",
          "effective_date": "2024-06-27T03:46:35.373Z",
          "created_time": "2024-06-27T03:46:35.374Z"
        }
      ]
    }
  ]
}
```

<h2 id="_digital_wallet_token_visa_only_events">
  Digital wallet token check eligibility event
</h2>

<Note>
  The check eligibility event is only applicable to Visa token provisioning.
</Note>

The check eligibility event notifies you when a card fails the check eligibility step during Visa token provisioning.
You can subscribe to the `token.checkeligibility` event to receive notifications when a provision request is declined because the card failed the eligibility check, giving you visibility into failed provisioning attempts and potential fraudulent activity such as bank identification number (BIN) enumeration attacks.

To subscribe to this event, include `token.checkeligibility` in the events array when you create or update a webhook.
The following example shows a `token.checkeligibility` notification.

```json JSON expandable lines wrap theme={null}
{
  "digitalwallettoken": [
    {
      "token" : "b98cb680-2fd4-4c14-aa56-8d05091209d5",
      "type": "token.checkeligibility",
      "card_token": null,
      "user_token": "7be1b227-5c22-4809-8911-ce44c454c8c1",
      "card": {
        "card_product_token": null,
        "pan_reference_id": "my_pan_reference_id_0073",
        "bin": "123456",
        "last_four": "7890",
        "expiry" : "MMYY"
        },
      "digital_wallet_token":{
        "token_reference_id": "my_token_reference_id_1600",
        "token_requestor_name": "Token Requestor Name",
        "token_requestor_id": "40010030273",
        "decision": "DECLINED",
        "reason_code": "Card not found"
      },
      "wallet_provider_profile": {
        "pan_source": "KEY_ENTERED"
        },
      "created_time": "2020-07-16T17:41:41Z",
      "network": "VISA"
    }
  ]
}
```

The fields in the example are described below:

| Fields                                                                                  | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| token<br /><br />string<br /><br />Required                                             | Unique identifier of the webhook event.<br /><br />**Allowable Values:**<br /><br />Valid token                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| type<br /><br />string<br /><br />Required                                              | Webhook event type.<br /><br />**Allowable Values:**<br /><br />`token.checkeligibility`                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| card\_token<br /><br />string<br /><br />Optional                                       | Unique identifier of the card associated with the provisioning request. Included only if available.<br /><br />**Allowable Values:**<br /><br />Existing card token                                                                                                                                                                                                                                                                                                                                                                   |
| user\_token<br /><br />string<br /><br />Optional                                       | Unique identifier of the cardholder associated with the provisioning request. Included only if available.<br /><br />**Allowable Values:**<br /><br />Existing user token                                                                                                                                                                                                                                                                                                                                                             |
| card<br /><br />object<br /><br />Optional                                              | Contains card details associated with the failed provisioning request.<br /><br />**Allowable Values:**<br /><br />`card_product_token`, `pan_reference_id`, `bin`, `last_four`, `expiry`                                                                                                                                                                                                                                                                                                                                             |
| card.**card\_product\_token**<br /><br />string<br /><br />Optional                     | Unique identifier of the card product. Included only if available.<br /><br />**Allowable Values:**<br /><br />Existing card product token                                                                                                                                                                                                                                                                                                                                                                                            |
| card.**pan\_reference\_id**<br /><br />string<br /><br />Required                       | Unique identifier of the digital wallet token primary account number (PAN) within the card network. This value may vary depending on the digital wallet — for example, the `pan_reference_id` may be different in Apple Wallet and Google Wallet for the same digital wallet token.<br /><br />**Allowable Values:**<br /><br />255 char max                                                                                                                                                                                          |
| card.**bin**<br /><br />string<br /><br />Required                                      | The bank identification number (BIN), which consists of the first 6 digits of the card PAN.<br /><br />**Allowable Values:**<br /><br />6-digit numeric string                                                                                                                                                                                                                                                                                                                                                                        |
| card.**last\_four**<br /><br />string<br /><br />Required                               | Last four digits of the card PAN.<br /><br />**Allowable Values:**<br /><br />4 chars                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| card.**expiry**<br /><br />string<br /><br />Required                                   | Expiration date of the card.<br /><br />**Allowable Values:**<br /><br />4 char <br /><br />**Format:**<br />MMYY                                                                                                                                                                                                                                                                                                                                                                                                                     |
| digital\_wallet\_token<br /><br />object<br /><br />Optional                            | Contains digital wallet token details associated with the failed provisioning request.<br /><br />**Allowable Values:**<br /><br />`token_reference_id`, `token_requestor_name`, `token_requestor_id`, `decision`, `reason_code`                                                                                                                                                                                                                                                                                                      |
| digital\_wallet\_token.**token\_reference\_id**<br /><br />string<br /><br />Optional   | Unique identifier of the digital wallet token within the card network. The `token_reference_id` is unique at the card network level. Included only if available.<br /><br />**Allowable Values:**<br /><br />255 char max                                                                                                                                                                                                                                                                                                             |
| digital\_wallet\_token.**token\_requestor\_name**<br /><br />string<br /><br />Required | Name of the token requestor within the card network.<br /><br />**NOTE:** The list of example values for this field is maintained by the card networks and is subject to change.<br /><br />**Allowable Values:**<br /><br />255 char max<br /><br />**Example Values:**<br /><br />`APPLE_PAY`, `ANDROID_PAY`, `SAMSUNG_PAY`, `MICROSOFT_PAY`, `VISA_CHECKOUT`, `FACEBOOK`, `NETFLIX`, `FITBIT_PAY`, `GARMIN_PAY`                                                                                                                    |
| digital\_wallet\_token.**token\_requestor\_id**<br /><br />string<br /><br />Required   | Unique numerical identifier of the token requestor within the card network. These ID numbers map to `token_requestor_name` field values as follows:<br /><br />- 40010030273 – `APPLE_PAY`<br />- 40010075001 – `ANDROID_PAY`<br />- 40010043095 – `SAMSUNG_PAY`<br />- 40010075196 – `MICROSOFT_PAY`<br />- 40010075338 – `VISA_CHECKOUT`<br />- 40010075449 – `FACEBOOK`<br />- 40010075839 – `NETFLIX`<br />- 40010077056 – `FITBIT_PAY`<br />- 40010069887 – `GARMIN_PAY`<br /><br />**Allowable Values:**<br /><br />11 char max |
| digital\_wallet\_token.**decision**<br /><br />string<br /><br />Required               | Outcome of the eligibility check. Always `DECLINED` — this webhook is sent only when a provisioning request is declined at the eligibility check step.<br /><br />**Allowable Values:**<br /><br />`DECLINED`                                                                                                                                                                                                                                                                                                                         |
| digital\_wallet\_token.**reason\_code**<br /><br />string<br /><br />Required           | Reason the provisioning request was declined at the eligibility check step.<br /><br />**Allowable Values:**<br /><br />- `Card not found`<br />- `The card must be active or unactivated`<br />- `Invalid cardholder`<br />- `Card is expired`<br />- `Manual entry not allowed for a given card`<br />- `In-App Provision not allowed for a given card`<br />- `Wallet Provider Card On File not allowed for a given card`                                                                                                          |
| wallet\_provider\_profile<br /><br />object<br /><br />Optional                         | Contains wallet provider profile details associated with the failed provisioning request.<br /><br />**Allowable Values:**<br /><br />`pan_source`                                                                                                                                                                                                                                                                                                                                                                                    |
| wallet\_provider\_profile.**pan\_source**<br /><br />string<br /><br />Required         | Indicates how the cardholder's PAN was sourced by the wallet provider.<br /><br />**Allowable Values:**<br /><br />`KEY_ENTERED`, `ON_FILE`, `MOBILE_BANKING_APP`                                                                                                                                                                                                                                                                                                                                                                     |
| created\_time<br /><br />datetime<br /><br />Required                                   | Date and time when the webhook event was created, in UTC.<br /><br />**Allowable Values:**<br /><br />datetime<br /><br />**Format:**<br />yyyy-MM-ddThh:mm:ssZ                                                                                                                                                                                                                                                                                                                                                                       |
| network<br /><br />string<br /><br />Required                                           | Card network for the provisioning request.<br /><br />**Allowable Values:**<br /><br />`VISA`                                                                                                                                                                                                                                                                                                                                                                                                                                         |

<h2 id="_digital_wallet_token_transition_events">
  Digital wallet token transition events
</h2>

Digital wallet token transition events include activities such as a digital wallet token being requested, activated, or terminated. From a technical point of view, they are activities that cause the transition of a token’s `state` or `fulfillment_status` field.

Digital wallet token transition notifications are sent as digital wallet token transition events occur and contain detailed information about the events.

Each notification contains a `type` field that categorizes the digital wallet token transition event. The following table describes each digital wallet token transition event type. The values in the Type column are the literal values of the notification’s `type` field. When [configuring a webhook](/core-api/webhooks/) to capture digital wallet token events, you must prefix this type with `digitalwallettokentransition` (for example, `digitalwallettokentransition.fulfillment.requested`).

| Type                    | Description                                                                                                                                                                                                                         |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| fulfillment.requested   | Indicates that a token was requested and provisioning is pending.                                                                                                                                                                   |
| state.request\_declined | Indicates that token provisioning was rejected. The state of the token cannot be further modified.                                                                                                                                  |
| state.activated         | Indicates that the token has been provisioned and is active.                                                                                                                                                                        |
| state.suspended         | Indicates that the token has been suspended.                                                                                                                                                                                        |
| state.reinstated        | Indicates that the token has been reactivated from a suspended state.                                                                                                                                                               |
| state.terminated        | Indicates that the token has been terminated. The state of the token cannot be further modified.                                                                                                                                    |
| card.swap               | A card was activated (the card state transitioned from `UNACTIVATED` to `ACTIVE`), and all existing digital wallet tokens owned by the user and having a state of `REQUESTED`, `ACTIVE`, or `SUSPENDED` were moved to the new card. |
| update                  | Indicates that the token data has been updated by Marqeta or the card network.                                                                                                                                                      |

<Note>
  **Note**
  The token-related event type `token.activation-request` is categorized as a transaction event and is documented in the [Transaction events](#_transaction_events) section.
</Note>

The event type `update` is triggered when the `reason` field is populated with one of the values from the following table:

| Reason                                  | Description                                                                                        |
| --------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `SYNC_TOKEN_PAN_FROM_NETWORK`           | Marqeta populated a missing token PAN from the card network. Token state remains unchanged.        |
| `SYNC_TOKEN_STATE_FROM_NETWORK`         | Marqeta corrected a stale token state from the network. Check the `state` field for the new value. |
| `SYNC_TOKEN_PAN_AND_STATE_FROM_NETWORK` | Marqeta corrected both the token PAN and state. Check the `state` field for the new values.        |
| `TOKEN_EXPIRY_DATE_UPDATED`             | Marqeta updated a token expiry date from the card network.                                         |

Digital wallet token transition notifications are structured as an array within a `digitalwallettokentransitions` element. Multiple notifications can be included in a single notification message. The structure of each individual notification is identical to that of a `digitalwallettokentransition` object returned by the `/digitalwallettokentransitions` API endpoint.

The following example shows a notification message containing two digital wallet token transition notifications: one requesting a token, and one for the activation of that token.

```json JSON expandable lines wrap theme={null}
{
  "digitalwallettokentransitions": [
    {
      "token": "my_digital_wallet_transition_token4321",
      "digital_wallet_token": {
        "token": "my_digital_wallet_token4321",
        "card_token": "my_card_token1234"
      },
      "type": "state.activated",
      "channel": "API",
      "state": "ACTIVE",
      "fulfillment_status": "PROVISIONED",
      "reason": "Passed additional identity verification",
      "created_time": "2024-02-23T18:57:45Z"
    },
    {
      "token": "659654f0-d5e4-4875-8e3e-2ecf1babd03b",
      "digital_wallet_token": {
        "token": "b98cb680-2fd4-4c14-aa56-8d05091209d5"
      },
      "type": "fulfillment.requested",
      "channel": "TOKEN_SERVICE_PROVIDER",
      "state": "REQUESTED",
      "fulfillment_status": "DECISION_YELLOW",
      "reason": "Additional identity verification required",
      "created_time": "2024-02-23T18:44:21Z"
    }
  ]
}
```

For more information about the `digitalwallettokentransitions` object, see [Digital Wallets Management](/core-api/digital-wallets-management/).

<h2 id="_direct_deposit_transition_events">
  Direct deposit transition events
</h2>

Direct deposit transition events include activities such as a direct deposit being applied, reversed, rejected, or set to pending. Transitioning the ACH transaction’s `state` field triggers these event notifications.

Each notification contains a `state` field that indicates the ACH transaction’s new state. The following table describes the possible values of the `state` field within a `directdeposittransition` event. Values under the State column are the literal values of the notification’s `state` field. When [configuring a webhook](/core-api/webhooks/) to capture these events, you must prefix this with `directdeposittransition` (for example, `directdeposittransition.applied`).

| State      | Description                                                                                                                                                                                                                                                                                                                                     |
| ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `APPLIED`  | The ACH transaction has been settled and funds can be posted to the account holder. These webhooks are sent as part of the Settlement job.                                                                                                                                                                                                      |
| `REVERSED` | The ACH transaction was in a pending or settled state, but now has been reversed and the funds will be returned to the ODFI. These webhooks are sent as part of the Return job.                                                                                                                                                                 |
| `REJECTED` | The ACH transaction could not be initiated, often because an invalid account number or inactive account. The funds will be returned to the ODFI. These webhooks are sent as part of the Return job.<br /><br />**NOTE:** Transactions webhooks will no longer be sent for `REJECTED` transactions since there are no associated ledger entries. |
| `PENDING`  | The ACH transaction was processed and is in the `PENDING` state awaiting settlement. These webhooks are sent as part of the File Processing job.                                                                                                                                                                                                |

The following example shows a `directdeposittransition.applied` event.

```json JSON expandable lines wrap theme={null}
{
  "directdeposittransitions": [
    {
      "channel": "SYSTEM",
      "token": "ddt-3HmZLBvdFzFaGytBAUZYxx",
      "reason": "",
      "type": "CREDIT",
      "direct_deposit_token": "3HmZLBvdFzFaGytBAUC49N",
      "transaction_token": "1289a31b-0000-828e-a728-6d5670410459",
      "state": "APPLIED",
      "created_time": "2024-10-22T11:50:26Z",
      "direct_deposit_account_token": "4882b46f-b410-4f46-af89-1792f6b6e9c2",
      "last_modified_time": "2024-10-22T17:50:26Z",
      "amount": "10.00",
      "settlement_date": "2024-10-22T12:00Z",
      "user_token": "7be1b227-5c22-4809-8911-ce44c454c8c1",
      "business_token": "",
      "standard_entry_class_code": "PPD",
      "company_name": "Marqeta Inc     ",
      "company_discretionary_data": "                    ",
      "company_identification": "3677859007",
      "company_entry_description": "PAYROLL   ",
      "individual_identification_number": "123451234512345",
      "individual_name": "mxaZohYzyNCNyy",
      "trace_number": "000000000000000",
      "early_direct_deposit": "false",
      "originator_status_code": "1",
      "current_txn_index": "1",
      "total_txns_count": "3",
      "nacha_file_creation_time": "202410221648",
      "nacha_file_id_modifier": "B",
      "bank": "<bank partner>"
    }
  ]
}
```

The following example shows a `directdeposittransition.reversed` event, when the available balance is insufficient to cover the dollar value of the debit entry.

```json JSON expandable lines wrap theme={null}
{
  "directdeposittransitions": [
    {
      "channel": "API",
      "token": "ddt-2spZdy5JEaaBXo7Nk4TmC8",
      "reason": "insufficient funds",
      "type": "DEBIT",
      "direct_deposit_token": "2spZdy5JEaaBXo7Nk3imYx",
      "transaction_token": "0f31a383-6000-87b5-a3d2-c25d19831215",
      "state": "REVERSED",
      "created_time": "2024-10-22T13:26:20Z",
      "direct_deposit_account_token": "59ec7db8-b912-4646-9ad4-060cf2c5f244",
      "last_modified_time": "2024-10-22T13:26:20Z",
      "amount": "28808593.75",
      "settlement_date": "2024-10-22T12:00Z",
      "reason_code": "R01",
      "user_token": "9cd8580d-2b67-4247-bc45-3fc33abfb576",
      "business_token": "",
      "standard_entry_class_code": "WEB",
      "company_name": "Marqeta Inc     ",
      "company_discretionary_data": "                    ",
      "company_identification": "3677859007",
      "company_entry_description": "PAYROLL   ",
      "individual_identification_number": "123451234512345",
      "individual_name": "viHCNHCbyGsgcu",
      "trace_number": "000000000000000",
      "early_direct_deposit": "false",
      "originator_status_code": "1",
      "current_txn_index": "1",
      "total_txns_count": "3",
      "nacha_file_creation_time": "202410221648",
      "nacha_file_id_modifier": "B",
      "bank": "<bank partner>"
    }
  ]
}
```

The following example shows a `directdeposittransition.rejected` event, when the account could not be located.

```json JSON expandable lines wrap theme={null}
{
  "directdeposittransitions": [
    {
      "channel": "SYSTEM",
      "token": "ddt-2vWKC5m6Hz5kggQHCotf7U",
      "reason": "Account Not Found",
      "type": "CREDIT",
      "direct_deposit_token": "2vWKC5m6Hz5kggQHCoLQt6",
      "transaction_token": "0f919fa7-0000-8001-a435-3f9459600007",
      "state": "REJECTED",
      "created_time": "2024-10-22T11:14:40Z",
      "direct_deposit_account_token": "",
      "last_modified_time": "2024-10-22T11:14:40Z",
      "amount": "10.00",
      "settlement_date": "2024-10-22T12:00Z",
      "reason_code": "R03",
      "user_token": "",
      "business_token": "",
      "standard_entry_class_code": "PPD",
      "company_name": "Marqeta Inc     ",
      "company_discretionary_data": "                    ",
      "company_identification": "3677859007",
      "company_entry_description": "PAYROLL   ",
      "individual_identification_number": "123451234512345",
      "individual_name": "LPrZAQqaArOzSw",
      "trace_number": "000000000000000",
      "early_direct_deposit": "false",
      "originator_status_code": "1",
      "current_txn_index": "1",
      "total_txns_count": "3",
      "nacha_file_creation_time": "202410221648",
      "nacha_file_id_modifier": "B",
      "bank": "<bank partner>"
    }
  ]
}
```

The following example shows a `directdeposittransition.rejected` event, when the originator’s identity is unknown or the originator is not authorized to debit.

```json JSON expandable lines wrap theme={null}
{
  "directdeposittransitions": [
    {
      "channel": "SYSTEM",
      "token": "ddt-2vxGrKxKFcKZrFmigSiM3k",
      "reason": "Missing required field",
      "type": "DEBIT",
      "direct_deposit_token": "2vxGrKxKFcKZrFmigSA6pN",
      "transaction_token": "0fa19f31-0000-8002-a443-1479f1600007",
      "state": "REJECTED",
      "created_time": "2024-10-22T22:15:41Z",
      "direct_deposit_account_token": "7427b00c-cb0f-4afc-8335-2ec174b6470a",
      "last_modified_time": "2024-10-22T22:15:41Z",
      "amount": "10.00",
      "settlement_date": "2024-10-22T12:00Z",
      "reason_code": "R10",
      "user_token": "3e5f1a0c-ce50-4615-b653-558487a01c09",
      "business_token": "",
      "standard_entry_class_code": "PPD",
      "company_name": "Marqeta Inc     ",
      "company_discretionary_data": "                    ",
      "company_identification": "3677859007",
      "company_entry_description": "PAYROLL   ",
      "individual_identification_number": "123451234512345",
      "trace_number": "000000000000000",
      "early_direct_deposit": "false",
      "originator_status_code": "1",
      "current_txn_index": "1",
      "total_txns_count": "3",
      "nacha_file_creation_time": "202410221648",
      "nacha_file_id_modifier": "B",
      "bank": "<bank partner>"
    }
  ]
}
```

The following example shows a `directdeposittransition.pending` event.

```json JSON expandable lines wrap theme={null}
{
  "directdeposittransitions": [
    {
      "channel": "SYSTEM",
      "token": "ddt-2qoj6x1AqTsQKxnBNxFELa",
      "reason": "",
      "type": "CREDIT",
      "direct_deposit_token": "2qoj6x1AqTsQKxnBNx4Uvn",
      "transaction_token": "0ee9a2af-0000-8001-a389-c73916200003",
      "state": "PENDING",
      "created_time": "2024-10-22T13:23:57Z",
      "direct_deposit_account_token": "15410860-2920-4a9e-9fb1-32a0b26c88ce",
      "last_modified_time": "2024-10-22T13:23:57Z",
      "amount": "10.00",
      "settlement_date": "2024-10-21T12:00Z",
      "user_token": "d083b20c-12a5-4187-af68-f7b877e47c76",
      "business_token": "",
      "standard_entry_class_code": "PPD",
      "company_name": "Marqeta Inc     ",
      "company_discretionary_data": "                    ",
      "company_identification": "3677859007",
      "company_entry_description": "PAYROLL   ",
      "individual_identification_number": "123451234512345",
      "individual_name": "mjMFZthGeognZV",
      "trace_number": "000000000000000",
      "early_direct_deposit": "false",
      "originator_status_code": "1",
      "current_txn_index": "1",
      "total_txns_count": "3",
      "nacha_file_creation_time": "202410221648",
      "nacha_file_id_modifier": "B",
      "bank": "<bank partner>"
    }
  ]
}
```

For more information about the `/directdeposits/transitions` endpoint, see [ACH Receiving](/core-api/ach-receiving/).

<h2 id="_direct_deposit_account_transition_events">
  Direct deposit account transition events
</h2>

Direct deposit account transition events include activities such as a direct deposit account being activated, suspended, or terminated. Updating the account’s `state` field triggers these event notifications.

Direct deposit account transition notifications are sent as the corresponding transition events occur. Each notification contains a `state` field that indicates the account’s new state. The following table describes the possible values of the `state` field within a `directdepositaccounttransition` event. Values in the State column are the literal values of the notification’s `state` field. When [configuring a webhook](/core-api/webhooks/) to capture these events, you must prefix this with `directdepositaccounttransition` (for example, `directdepositaccounttransition.active`).

| State        | Description                                                                                                                                                                                                                                     |
| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ACTIVE`     | The direct deposit account is functional, and allows debit and credit transactions including ACH. Transitions to the `SUSPENDED` or `TERMINATED` states are permitted.                                                                          |
| `SUSPENDED`  | The direct deposit account is temporarily non-functional. When in this state, all credits and debits should be held. ACH credits and debits will be `REJECTED` or `REVERSED`. Transitions to the `ACTIVE` or `TERMINATED` states are permitted. |
| `TERMINATED` | The direct deposit account is permanently non-functional and cannot transition to any other state. When in this state, all credits and debits—including ACH—will be rejected.                                                                   |

The following example shows a `directdepositaccounttransition.suspended` event.

```json JSON lines wrap theme={null}
{
  "directdepositaccounttransitions":[
    {
      "type": "suspended",
      "token": "e3942f4d-55fc-49dc-b094-d8fc69b8ca38",
      "user_token": "620beb62-1e5c-41a2-bd84-d8a84647f0af",
      "account_token": "38765236-555d-4806-afdc-2b0c70ddde22",
      "state": "SUSPENDED",
      "channel": "API",
      "reason": "Insufficient funds",
      "created_time": "2024-01-08T17:56:06Z"
    }
  ]
}
```

For more information about the `/depositaccounts/transitions` endpoint, see [Deposit Accounts](/core-api/deposit-accounts/).

<h2 id="_kyb_results_event">
  KYB results event
</h2>

The `kybresults` event returns the results of a KYC verification request for a business when the `BUSINESS` component could not be verified in the allotted time. In such cases, the KYC request returns a status of `VENDOR_PENDING`, and the relevant `BUSINESS` component also returns an outcome of `VENDOR_PENDING`.

<Note>
  **Note**
  The `VENDOR_PENDING` status only applies to the `BUSINESS` component, not to the `PROPRIETOR` or `BENEFICIAL_OWNER` components. Therefore, the `kybresults` event only returns information about the `BUSINESS` component.
</Note>

Marqeta sends `kybresults` events as soon as the KYC vendor returns the final verification for the Business KYC verification request.

The following example shows a `kybresults` event that returned a successful KYC result for a business. The `token` field includes the original KYC request token from the `POST /kyc` action. See [Perform KYC](/core-api/kyc-verification/#post_kyc) for information about the `POST /kyc` action.

```json JSON lines wrap theme={null}
{
  "kybresults":[
    {
      "token": "5e85dd45-7d89-4d0e-b44e-477398b16784",
      "business_token": "business101",
      "component": "BUSINESS",
      "reference_id": "S-mrWXdEIF2eEo3SKXyKSf",
      "outcome": "SUCCESS",
      "outcome_reasons": []
    }
  ]
}
```

For more information about `outcome_reasons` in the `kybresults` array, see [Business KYC outcome reasons](/core-api/kyc-verification/#_business_kyc_outcome_reasons_business_response).

<h2 id="_level_2_and_level_3_card_data_events">
  Level 2 and Level 3 card data events
</h2>

Level 2 (L2) and Level 3 (L3) card data go beyond standard Level 1 (L1) data such as card number and transaction amount. L2 and L3 data provide more specific data to the merchants, issuers, acquirers, and processors that transact with business, corporate, and purchasing cardholders. These services enable the processing and delivery of additional transaction data to help merchants and issuers gather important non-financial data from commercial card transactions.

L2 data include L1 data plus details such as sales tax amount and purchase order number. L3 data include L1 and L2 data plus additional details such as product quantity, line item description, and unit of measure.

When [configuring a webhook](/core-api/webhooks/) to subscribe to L2 and L3 card data events, set the `type` value to `authorization.clearing.l2l3`.

The following example shows an `authorization.clearing.l2l3` event.

```json JSON expandable lines wrap theme={null}
{
  "l1event": {
    "acquirer": {
      "institution_id_code": "00000026021",
      "system_trace_audit_number": "121889"
    },
    "acquirer_fee_amount": 0,
    "acquirer_reference_data": "52708242294838000010126",
    "acting_user_token": "852938",
    "amount": 30.08,
    "approval_code": "211915",
    "batch_number": "**MASKED**",
    "card": {
      "last_four": "1259"
    },
    "card_acceptor": {
      "address": "123 MAIN STREET",
      "city": "SAN DIEGO",
      "country": "USA",
      "mcc": "5411",
      "mcc_groups": [
        "0db78673-edef-4466-8402-7f362480ec28",
        "b4b91d4d-1a3b-11e5-9fa3-005056aa121d"
      ],
      "mid": "383011000000000",
      "name": "Test Name",
      "network_mid": "313031520882",
      "poi": {
        "partial_approval_capable": "0",
        "tid": "0100    "
      },
      "state": "CA",
      "zip": "95112"
    },
    "card_product_token": "1e5bca14-fc48-4066-9d92-097343eee98f",
    "card_token": "card-10618016",
    "clearing_record_sequence_number": "00121889",
    "created_time": "2023-10-21T14:06:18Z",
    "currency_code": "USD",
    "currency_conversion": {
      "network": {
        "conversion_rate": 1,
        "original_amount": 30.08,
        "original_currency_code": "840",
        "settlement_data": {
          "amount": 30.08,
          "conversion_rate": 1,
          "currency_code": "840"
        }
      }
    },
    "duration": 196,
    "enhanced_data_token": "2518a8ea9d1a5bf260957e37bbeca9b245443907eb7662e9286379f40f806cc9",
    "gpa": {
      "available_balance": 0,
      "balances": {
        "USD": {
          "available_balance": 0,
          "credit_balance": 0,
          "currency_code": "USD",
          "impacted_amount": -30.08,
          "ledger_balance": 268.25,
          "pending_credits": 0
        }
      },
      "credit_balance": 0,
      "currency_code": "USD",
      "impacted_amount": -30.08,
      "ledger_balance": 268.25,
      "pending_credits": 0
    },
    "gpa_order": {
      "amount": 30.08,
      "created_time": "2023-10-21T04:00:52Z",
      "currency_code": "USD",
      "funding": {
        "amount": 30.08,
        "source": {
          "active": true,
          "created_time": "2023-04-15T22:58:14Z",
          "is_default_account": false,
          "last_modified_time": "2023-04-15T22:58:14Z",
          "name": "Dasher GJIT 2.0",
          "token": "**********c09c",
          "type": "programgateway"
        }
      },
      "funding_source_token": "**********c09c",
      "jit_funding": {
        "acting_user_token": "852938",
        "amount": 30.08,
        "method": "pgfs.authorization.capture",
        "original_jit_funding_token": "93abf13b-4b02-454e-b206-acb54e291397",
        "token": "4dea834f-5a00-460f-9af5-743fc00a8cc7",
        "user_token": "852938"
      },
      "last_modified_time": "2023-10-21T14:06:18Z",
      "response": {
        "code": "0000",
        "memo": "Approved or completed successfully"
      },
      "state": "COMPLETION",
      "token": "33880092-4979-4c1a-a13a-c2abb4d6136c",
      "transaction_token": "d4fe9bb4-e2a7-41f1-b737-8c1410690b57",
      "user_token": "852938"
    },
    "identifier": "**MASKED**",
    "is_installment": false,
    "is_recurring": false,
    "issuer_payment_node": "196a74bcb9a077f90a37dec1e4470d5e",
    "issuer_received_time": "2023-10-21T14:06:18.252Z",
    "network": "MASTERCARD",
    "network_reference_id": "MCCAB12340101",
    "preceding_related_transaction_token": "3cf54b4d-c44d-4bd0-af17-038efda9a91c",
    "request_amount": 30.08,
    "response": {
      "code": "0000",
      "memo": "Approved or completed successfully"
    },
    "settlement_date": "2023-10-21T00:00:00Z",
    "state": "COMPLETION",
    "token": "8554e623-9cd5-4d3e-8516-31e9be815684",
    "type": "authorization.clearing",
    "user_token": "852938",
    "user_transaction_time": "2023-10-21T04:00:51Z"
  },
  "l2l3": {
    "enhanced_data_token": "2518a8ea9d1a5bf260957e37bbeca9b245443907eb7662e9286379f40f806cc9",
    "date_time": "221101090000",
    "transaction_metadata": {
      "network_ref_id": " MCCAB12340101  ",
      "inventory_details": [],
      "generic_details": [],
      "healthcare_details": [],
      "passenger_transport_details": [],
      "auto_rentals": [
        {
          "rental_agreement_number": "AB!456789",
          "days_rented": 123,
          "renter_name": "John Q. Public",
          "check_out_date": "080901",
          "vehicle_type": "F4AY",
          "no_show_indicator": "1",
          "rental_rates": [
            {
              "rental_rate_type": "D",
              "rental_rate": 79
            }
          ],
          "return_city": "Key West",
          "return_state": "FL",
          "return_country": "USA",
          "return_location": "LOC456789!",
          "return_date": "090901",
          "one_way_dropoff_charges": 10.12,
          "late_return_charges": 50.55,
          "insurance_charge_indicator": "Y",
          "insurance_charges": 25,
          "fuel_charges": 6,
          "towing_charges": 50.01,
          "regular_mileage_charges": 1.37,
          "extra_mileage_charges": 1.11,
          "extra_charges": 20,
          "other_charges": 30
        }
      ],
      "fleets": [],
      "lodgings": [],
      "couriers": [],
      "temporary_services": []
    }
  }
}
```

This is the model for L2/L3 card transaction data.

```json JSON expandable lines wrap theme={null}
{
  "type": "struct",
  "fields": [
    {
      "name": "l1event",
      "type": {
        "type": "struct",
        "fields": [
          {
            "name": "acquirer",
            "type": {
              "type": "struct",
              "fields": [
                {
                  "name": "institution_id_code",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "system_trace_audit_number",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                }
              ]
            },
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "acquirer_fee_amount",
            "type": "decimal",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "acquirer_reference_data",
            "type": "string",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "acting_user_token",
            "type": "string",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "amount",
            "type": "decimal",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "approval_code",
            "type": "string",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "batch_number",
            "type": "string",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "card",
            "type": {
              "type": "struct",
              "fields": [
                {
                  "name": "last_four",
                  "type": "string",
                  "nullable": true
                }
              ]
            },
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "card_acceptor",
            "type": {
              "type": "struct",
              "fields": [
                {
                  "name": "address",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "city",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "country",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "mcc",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "mcc_groups",
                  "type": {
                    "type": "array",
                    "elementType": "string",
                    "containsNull": true
                  },
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "mid",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "name",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "network_mid",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "poi",
                  "type": {
                    "type": "struct",
                    "fields": [
                      {
                        "name": "partial_approval_capable",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name": "tid",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      }
                    ]
                  },
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "state",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "zip",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                }
              ]
            },
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "card_product_token",
            "type": "string",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "card_token",
            "type": "string",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "clearing_record_sequence_number",
            "type": "string",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "created_time",
            "type": "string",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "currency_code",
            "type": "string",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "currency_conversion",
            "type": {
              "type": "struct",
              "fields": [
                {
                  "name": "network",
                  "type": {
                    "type": "struct",
                    "fields": [
                      {
                        "name": "conversion_rate",
                        "type": "decimal",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name": "original_amount",
                        "type": "decimal",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name": "original_currency_code",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name": "settlement_data",
                        "type": {
                          "type": "struct",
                          "fields": [
                            {
                              "name": "amount",
                              "type": "decimal",
                              "nullable": true,
                              "metadata": {}
                            },
                            {
                              "name": "conversion_rate",
                              "type": "decimal",
                              "nullable": true,
                              "metadata": {}
                            },
                            {
                              "name": "currency_code",
                              "type": "string",
                              "nullable": true,
                              "metadata": {}
                            }
                          ]
                        },
                        "nullable": true,
                        "metadata": {}
                      }
                    ]
                  },
                  "nullable": true,
                  "metadata": {}
                }
              ]
            },
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "duration",
            "type": "long",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "enhanced_data_token",
            "type": "string",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "gpa",
            "type": {
              "type": "struct",
              "fields": [
                {
                  "name": "available_balance",
                  "type": "decimal",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "balances",
                  "type": {
                    "type": "struct",
                    "fields": [
                      {
                        "name": "USD",
                        "type": {
                          "type": "struct",
                          "fields": [
                            {
                              "name": "available_balance",
                              "type": "decimal",
                              "nullable": true,
                              "metadata": {}
                            },
                            {
                              "name": "credit_balance",
                              "type": "decimal",
                              "nullable": true,
                              "metadata": {}
                            },
                            {
                              "name": "currency_code",
                              "type": "string",
                              "nullable": true,
                              "metadata": {}
                            },
                            {
                              "name": "impacted_amount",
                              "type": "decimal",
                              "nullable": true,
                              "metadata": {}
                            },
                            {
                              "name": "ledger_balance",
                              "type": "decimal",
                              "nullable": true,
                              "metadata": {}
                            },
                            {
                              "name": "pending_credits",
                              "type": "decimal",
                              "nullable": true,
                              "metadata": {}
                            }
                          ]
                        },
                        "nullable": true,
                        "metadata": {}
                      }
                    ]
                  },
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "credit_balance",
                  "type": "decimal",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "currency_code",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "impacted_amount",
                  "type": "decimal",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "ledger_balance",
                  "type": "decimal",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "pending_credits",
                  "type": "decimal",
                  "nullable": true,
                  "metadata": {}
                }
              ]
            },
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "gpa_order",
            "type": {
              "type": "struct",
              "fields": [
                {
                  "name": "amount",
                  "type": "decimal",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "created_time",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "currency_code",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "funding",
                  "type": {
                    "type": "struct",
                    "fields": [
                      {
                        "name": "amount",
                        "type": "decimal",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name": "source",
                        "type": {
                          "type": "struct",
                          "fields": [
                            {
                              "name": "active",
                              "type": "boolean",
                              "nullable": true,
                              "metadata": {}
                            },
                            {
                              "name": "created_time",
                              "type": "string",
                              "nullable": true,
                              "metadata": {}
                            },
                            {
                              "name": "is_default_account",
                              "type": "boolean",
                              "nullable": true,
                              "metadata": {}
                            },
                            {
                              "name": "last_modified_time",
                              "type": "string",
                              "nullable": true,
                              "metadata": {}
                            },
                            {
                              "name": "name",
                              "type": "string",
                              "nullable": true,
                              "metadata": {}
                            },
                            {
                              "name": "token",
                              "type": "string",
                              "nullable": true,
                              "metadata": {}
                            },
                            {
                              "name": "type",
                              "type": "string",
                              "nullable": true,
                              "metadata": {}
                            }
                          ]
                        },
                        "nullable": true,
                        "metadata": {}
                      }
                    ]
                  },
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "funding_source_token",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "jit_funding",
                  "type": {
                    "type": "struct",
                    "fields": [
                      {
                        "name": "acting_user_token",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name": "amount",
                        "type": "decimal",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name": "method",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name": "original_jit_funding_token",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name": "token",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name": "user_token",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      }
                    ]
                  },
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "last_modified_time",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "response",
                  "type": {
                    "type": "struct",
                    "fields": [
                      {
                        "name": "code",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name": "memo",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      }
                    ]
                  },
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "state",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "token",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "transaction_token",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "user_token",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                }
              ]
            },
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "identifier",
            "type": "string",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "is_installment",
            "type": "boolean",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "is_recurring",
            "type": "boolean",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "issuer_payment_node",
            "type": "string",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "issuer_received_time",
            "type": "string",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "network",
            "type": "string",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "network_reference_id",
            "type": "string",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "preceding_related_transaction_token",
            "type": "string",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "request_amount",
            "type": "decimal",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "response",
            "type": {
              "type": "struct",
              "fields": [
                {
                  "name": "code",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "memo",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                }
              ]
            },
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "settlement_date",
            "type": "string",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "state",
            "type": "string",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "token",
            "type": "string",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "type",
            "type": "string",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "user_token",
            "type": "string",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "user_transaction_time",
            "type": "string",
            "nullable": true,
            "metadata": {}
          }
        ]
      },
      "nullable": true,
      "metadata": {}
    },
    {
      "name": "l2l3",
      "type": {
        "type": "struct",
        "fields": [
          {
            "name": "business_application_id",
            "type": "string",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "card_acceptor",
            "type": {
              "type": "struct",
              "fields": [
                {
                  "name": "card_acceptor_tax_id",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "card_acceptor_tax_id_provided",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                }
              ]
            },
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "date_time",
            "type": "string",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "enhanced_data_token",
            "type": "string",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "financials",
            "type": {
              "type": "struct",
              "fields": [
                {
                  "name": "discount_amount",
                  "type": "decimal",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "discount_amount_indicator",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "discount_type",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "total_tax_amount",
                  "type": "decimal",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "total_tax_amount_indicator",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "vat_tax_amount",
                  "type": "decimal",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "vat_tax_rate",
                  "type": "decimal",
                  "nullable": true,
                  "metadata": {}
                }
              ]
            },
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "ica",
            "type": "string",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "pan",
            "type": "string",
            "nullable": true,
            "metadata": {}
          },
          {
            "name": "transaction_metadata",
            "type": {
              "type": "struct",
              "fields": [
                {
                  "name": "auto_rentals",
                  "type": {
                    "type": "array",
                    "elementType": {
                      "type": "struct",
                      "fields": [
                        {
                          "name": "check_out_date",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "days_rented",
                          "type": "long",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "extra_charges",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "extra_mileage_charges",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "fuel_charges",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "insurance_charge_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "insurance_charges",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "late_return_charges",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "no_show_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "one_way_dropoff_charges",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "other_charges",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "regular_mileage_charges",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "rental_agreement_number",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "rental_rates",
                          "type": {
                            "type": "array",
                            "elementType": {
                              "type": "struct",
                              "fields": [
                                {
                                  "name": "rental_rate",
                                  "type": "decimal",
                                  "nullable": true,
                                  "metadata": {}
                                },
                                {
                                  "name": "rental_rate_type",
                                  "type": "string",
                                  "nullable": true,
                                  "metadata": {}
                                }
                              ]
                            },
                            "containsNull": true
                          },
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "renter_name",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "return_city",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "return_country",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "return_date",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "return_location",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "return_state",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "towing_charges",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "vehicle_type",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        }
                      ]
                    },
                    "containsNull": true
                  },
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "couriers",
                  "type": {
                    "type": "array",
                    "elementType": {
                      "type": "struct",
                      "fields": [
                        {
                          "name": "destination_city",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "destination_country",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "destination_postal_code",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "destination_state",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "number_of_packages",
                          "type": "long",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "origin_city",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "origin_country",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "origin_postal_code",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "origin_state",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "pickup_date",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "shipping_charges",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "shipping_charges_amount",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "shipping_charges_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "tracking_number",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        }
                      ]
                    },
                    "containsNull": true
                  },
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "customer_code",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "fleet_emv",
                  "type": {
                    "type": "struct",
                    "fields": [
                      {
                        "name": "additional_prompted_data1",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name": "additional_prompted_data2",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name": "employee_number",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name": "trailer_number",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name" : "vat_tax_rate",
                        "type": "decimal",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name" : "expanded_fuel_type",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name" : "service_type",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name" : "odometer_reading",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name" : "gross_fuel_price",
                        "type": "decimal",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name" : "unit_cost",
                        "type": "decimal",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name" : "unit_of_measure",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name" : "quantity",
                        "type": "decimal",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name" : "net_fuel_price",
                        "type": "decimal",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name" : "net_non_fuel_price",
                        "type": "decimal",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name" : "gross_non_fuel_price",
                        "type": "decimal",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name" : "type_of_purchase",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name" : "non_fuel_product_code_1",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name" : "non_fuel_product_code_2",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name" : "non_fuel_product_code_3",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name" : "non_fuel_product_code_4",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name" : "non_fuel_product_code_5",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name" : "non_fuel_product_code_6",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name" : "non_fuel_product_code_7",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name" : "non_fuel_product_code_8",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      }
                    ]
                  },
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "fleets",
                  "type": {
                    "type": "array",
                    "elementType": {
                      "type": "struct",
                      "fields": [
                        {
                          "name": "driver_id",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "expanded_fuel_type",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "fleet_number",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "fuel_product_qualifier",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "fuel_quantity",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "fuel_tax_amount",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "fuel_tax_exemption_status",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "fuel_type",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "fuel_unit_of_measure",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "fuel_unit_price",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "gross_fuel_amount",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "gross_non_fuel_amount",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "item_credit_debit_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "item_extended_amount",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "item_extended_amount_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "job_number",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "misc_non_fuel_tax",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "misc_non_fuel_tax_exemption_status",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "net_fuel_amount",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "net_non_fuel_amount",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "non_fuel_item_details",
                          "type": {
                            "type": "array",
                            "elementType": {
                              "type": "struct",
                              "fields": [
                                {
                                  "name": "description",
                                  "type": "string",
                                  "nullable": true,
                                  "metadata": {}
                                },
                                {
                                  "name": "product_code",
                                  "type": "string",
                                  "nullable": true,
                                  "metadata": {}
                                },
                                {
                                  "name": "quantity",
                                  "type": "long",
                                  "nullable": true,
                                  "metadata": {}
                                },
                                {
                                  "name": "unit_of_measure",
                                  "type": "string",
                                  "nullable": true,
                                  "metadata": {}
                                },
                                {
                                  "name": "unit_price",
                                  "type": "decimal",
                                  "nullable": true,
                                  "metadata": {}
                                }
                              ]
                            },
                            "containsNull": true
                          },
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "odometer_reading",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "sales_tax_amount",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "service_type",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "type_of_purchase",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "vat_tax_rate",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "vehicle_id",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        }
                      ]
                    },
                    "containsNull": true
                  },
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "generic_details",
                  "type": {
                    "type": "array",
                    "elementType": {
                      "type": "struct",
                      "fields": [
                        {
                          "name": "customer_proprietary_data",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "free_form_description",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        }
                      ]
                    },
                    "containsNull": true
                  },
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "healthcare_details",
                  "type": {
                    "type": "array",
                    "elementType": {
                      "type": "struct",
                      "fields": [
                        {
                          "name": "description",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "healthcare_eligibility_status_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "quantity",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "realtime_substantiation_audit_retrieval_fulfillment",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "unit_price",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        }
                      ]
                    },
                    "containsNull": true
                  },
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "inventory_details",
                  "type": {
                    "type": "array",
                    "elementType": {
                      "type": "struct",
                      "fields": [
                        {
                          "name": "commodity_code",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "description",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "discount_amount",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "item_credit_debit_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "item_detail_taxes",
                          "type": {
                            "type": "array",
                            "elementType": {
                              "type": "struct",
                              "fields": [
                                {
                                  "name": "detail_tax_amount",
                                  "type": "decimal",
                                  "nullable": true,
                                  "metadata": {}
                                },
                                {
                                  "name": "detail_tax_amount_inclusion_indicator",
                                  "type": "string",
                                  "nullable": true,
                                  "metadata": {}
                                },
                                {
                                  "name": "detail_tax_amount_indicator",
                                  "type": "string",
                                  "nullable": true,
                                  "metadata": {}
                                },
                                {
                                  "name": "detail_tax_rate",
                                  "type": "decimal",
                                  "nullable": true,
                                  "metadata": {}
                                },
                                {
                                  "name": "detail_tax_type_applied",
                                  "type": "string",
                                  "nullable": true,
                                  "metadata": {}
                                },
                                {
                                  "name": "detail_tax_type_identifier",
                                  "type": "string",
                                  "nullable": true,
                                  "metadata": {}
                                }
                              ]
                            },
                            "containsNull": true
                          },
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "item_discount_amount",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "item_discount_amount_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "item_discount_applied_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "item_discount_rate",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "item_extended_amount",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "item_extended_amount_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "item_total_amount",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "item_total_amount_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "item_vat_amount",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "item_vat_rate",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "product_code",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "quantity",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "total_amount",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "unit_of_measure",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "unit_price",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "vat_tax_amount",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "vat_tax_rate",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        }
                      ]
                    },
                    "containsNull": true
                  },
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "lodgings",
                  "type": {
                    "type": "array",
                    "elementType": {
                      "type": "struct",
                      "fields": [
                        {
                          "name": "banquet_charges",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "banquet_charges_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "business_center_charges",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "business_center_charges_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "cash_advance",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "cash_advance_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "check_in_date",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "check_out_date",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "conference_room_charges",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "conference_room_charges_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "daily_room_rate",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "extra_charges",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "folio_number",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "gift_shop_purchase",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "gift_shop_purchase_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "guest_name",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "health_club_charges",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "health_club_charges_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "internet_charges",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "internet_charges_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "laundry_charges",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "laundry_charges_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "lodging_total_tax_amount",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "lodging_total_tax_amount_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "lounge_charges",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "lounge_charges_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "minibar_charges",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "minibar_charges_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "movie_charges",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "movie_charges_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "no_show_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "non_room_charges",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "non_room_charges_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "non_room_tax_amount",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "non_room_tax_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "number_of_nights",
                          "type": "long",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "other_services",
                          "type": {
                            "type": "array",
                            "elementType": {
                              "type": "struct",
                              "fields": [
                                {
                                  "name": "amount",
                                  "type": "decimal",
                                  "nullable": true,
                                  "metadata": {}
                                },
                                {
                                  "name": "code",
                                  "type": "string",
                                  "nullable": true,
                                  "metadata": {}
                                },
                                {
                                  "name": "indicator",
                                  "type": "string",
                                  "nullable": true,
                                  "metadata": {}
                                }
                              ]
                            },
                            "containsNull": true
                          },
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "prepaid_expenses",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "restaurant_charges",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "restaurant_charges_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "room_service_charges",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "room_service_charges_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "room_tax_amount",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "room_tax_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "telephone_charges",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "telephone_charges_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "transportation_charges",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "transportation_charges_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "valet_charges",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "valet_charges_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        }
                      ]
                    },
                    "containsNull": true
                  },
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "network_ref_id",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "passenger_ancillary_data",
                  "type": {
                    "type": "struct",
                    "fields": [
                      {
                        "name": "associated_ticket_number",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name": "credit_reason_indicator",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name": "passenger_name",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name": "services",
                        "type": {
                          "type": "array",
                          "elementType": {
                            "type": "struct",
                            "fields": [
                              {
                                "name": "service_category",
                                "type": "string",
                                "nullable": true,
                                "metadata": {}
                              },
                              {
                                "name": "service_sub_category",
                                "type": "string",
                                "nullable": true,
                                "metadata": {}
                              }
                            ]
                          },
                          "containsNull": true
                        },
                        "nullable": true,
                        "metadata": {}
                      },
                      {
                        "name": "ticket_document",
                        "type": "string",
                        "nullable": true,
                        "metadata": {}
                      }
                    ]
                  },
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "passenger_transport_details",
                  "type": {
                    "type": "array",
                    "elementType": {
                      "type": "struct",
                      "fields": [
                        {
                          "name": "ancillary_fees",
                          "type": {
                            "type": "array",
                            "elementType": {
                              "type": "struct",
                              "fields": [
                                {
                                  "name": "amount",
                                  "type": "decimal",
                                  "nullable": true,
                                  "metadata": {}
                                },
                                {
                                  "name": "code",
                                  "type": "string",
                                  "nullable": true,
                                  "metadata": {}
                                }
                              ]
                            },
                            "containsNull": true
                          },
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "computerised_reservation_system",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "conjunction_ticket_number",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "credit_reason_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "currency_code",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "departure_date",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "electronic_ticket_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "exchange_ticket_amount",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "exchange_ticket_number",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "internet_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "itinerary_details",
                          "type": {
                            "type": "array",
                            "elementType": {
                              "type": "struct",
                              "fields": [
                                {
                                  "name": "carrier_code",
                                  "type": "string",
                                  "nullable": true,
                                  "metadata": {}
                                },
                                {
                                  "name": "destination_airport_code",
                                  "type": "string",
                                  "nullable": true,
                                  "metadata": {}
                                },
                                {
                                  "name": "fare_basis_code",
                                  "type": "string",
                                  "nullable": true,
                                  "metadata": {}
                                },
                                {
                                  "name": "flight_number",
                                  "type": "string",
                                  "nullable": true,
                                  "metadata": {}
                                },
                                {
                                  "name": "services_class",
                                  "type": "string",
                                  "nullable": true,
                                  "metadata": {}
                                },
                                {
                                  "name": "stopover_code",
                                  "type": "string",
                                  "nullable": true,
                                  "metadata": {}
                                }
                              ]
                            },
                            "containsNull": true
                          },
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "original_ticket_number",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "origination_airport_code",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "passenger_name",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "restricted_ticket_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "ticket_change_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "ticket_issue_date",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "travel_agency_code",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "travel_agency_name",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "type",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        }
                      ]
                    },
                    "containsNull": true
                  },
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "purchase_order",
                  "type": "string",
                  "nullable": true,
                  "metadata": {}
                },
                {
                  "name": "temporary_services",
                  "type": {
                    "type": "array",
                    "elementType": {
                      "type": "struct",
                      "fields": [
                        {
                          "name": "cost_center",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "employee_name",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "job_Code",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "job_description",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "overtime_hours",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "overtime_rate",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "rate",
                          "type": "decimal",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "rate_indicator",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "ssn",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "supervisor_name",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "timesheet_number",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        },
                        {
                          "name": "week_end_date",
                          "type": "string",
                          "nullable": true,
                          "metadata": {}
                        }
                      ]
                    },
                    "containsNull": true
                  },
                  "nullable": true,
                  "metadata": {}
                }
              ]
            },
            "nullable": true,
            "metadata": {}
          }
        ]
      },
      "nullable": true,
      "metadata": {}
    }
  ]
}
```

<Warning>
  **Important**
  Customer’s use of Enhanced Data must comply with the Network Rules, specifically including Visa Rule 4.13.2, and:

  Customer may only utilize the Enhanced Data for the administration and management of their commercial card program, including but not limited to accounting, tax management, policy compliance, and other business management functions.

  Customer may not utilize the data for any other purpose, including marketing.

  Customer must treat the information as confidential and may not further disclose the data without Marqeta’s consent.
</Warning>

<h2 id="_smart_rejects">
  Smart rejects
</h2>

When a user submits a dispute that would eventually be rejected by the network, smart reject rules allow those disputes to be rejected earlier in the dispute lifecycle, minimizing the operational cost. Smart rejects are implemented through webhooks.

The `cases` object represents a smart rejection that has been submitted. Notifications that are sent contain detailed information about the case event. Each notification contains a `type` field that categorizes the case event. When configuring a webhook to capture case events, you must prefix this type with `cases` (for example, `cases.smart.reject`).

The following are disputes with smart reject rules:

* Fraud dispute on a 3DS transaction

* Incorrect Transaction Amount without supporting document

<h3 id="_smart_reject_for_3ds_case_events">
  Smart reject for 3DS case events
</h3>

When a user attempts to submit a fraud dispute on a 3DS transaction, the case management system smart-rejects the dispute. 3DS rejections apply to fraud disputes (10.1, 10.2, 10.3, 10.4). When [configuring a webhook](/core-api/webhooks/) to subscribe to smart reject events, set the `type` value in the subscription request to `caseevent.*`.

The following example shows the `cases.smart.reject` event.

```json JSON expandable lines wrap theme={null}
{
   "token": "f52318ca-a665-414a-8c48-9cd24b6a175a",
   "type": "cases.smart.reject",
   "category": "SmartReject",
   "name": "3ds",
   "event_date": "2023-08-06T00:54:38Z",
   "created_by": "mqd-testing admin1",
   "created_time": "2023-08-06T00:54:38Z",
   "reason": "Cannot initiate (10.x) chargeback on a verified VISA transaction.",
"case":{
      "created_time": "2023-08-06T00:54:26Z",
      "last_modified_time": "2023-08-06T00:54:33Z",
      "token": "qa04-6446",
      "type": "DISPUTE",
      "state": "OPEN_WITH_ACTION_REQUIRED",
      "dispute_summary":{
         "original_transaction_token": "f0bc11c3-9df3-4319-87c0-7b815f91472f",
         "original_transaction_type": "authorization.clearing",
         "dispute_amount":105.01,
         "currency_code": "USD",
         "dispute_reason": "NOT_AUTHORIZED_CARD_ABSENT",
         "dispute_state": "NULL",
         "chargeback_token": "fea7cdca-e0e3-4944-a0e9-8ee4e9f4e80d",
         "network": "VISA",
         "network_case_number": "5155606236",
         "card_token": "6c365970-ece3-48f0-ab72-6b7c8f4d7a27",
         "cardholder_contact_date": "2023-08-05T00:54:19Z",
         "provisional_credit_granted": true,
         "regulation_type": "REG_E"
      }
   }
}
```

<h3 id="_smart_reject_for_incorrect_transaction_amount_without_supporting_document">
  Smart reject for Incorrect Transaction Amount without supporting document
</h3>

If you initiate a dispute with the network using the `/cases` endpoint without a copy of the transaction receipt or other record with the correct transaction amount, the dispute will be smart rejected and the moved to **Open with Action Required**.

The following example shows the `cases.smart.reject` event.

```json JSON expandable lines wrap theme={null}
{
    "token": "8eedab16-f188-452e-a68f-960ca4b2eccc",
    "type": "cases.smart.reject",
    "name": "SmartReject",
    "category": "SmartReject",
    "reason": "Cannot initiate 12.5 for network VISA : no documents attached to the case",
    "event_date": "2023-09-18T22:33:47Z",
    "created_by": "Blair Volkert",
    "created_time": "2023-09-18T22:33:47Z",
    "case": {
        "created_time": "2023-09-18T22:33:11Z",
        "last_modified_time": "2023-09-18T22:33:38Z",
        "token": "qa07-53395",
        "type": "DISPUTE",
        "memo": "This is a QE test- 12.5",
        "state": "OPEN_WITH_ACTION_REQUIRED",
        "assignee": "Blair Volkert",
        "dispute_summary": {
            "original_transaction_token": "d2b3aad0-e4c3-4950-b513-87ca567ae8e6",
            "original_transaction_type": "authorization.clearing",
            "dispute_amount": 1.00,
            "currency_code": "USD",
            "dispute_reason": "INCORRECT_TRANSACTION_AMOUNT",
            "network": "VISA",
            "network_case_number": "5157112528",
            "card_token": "0b793da0-5f24-4bff-9668-60e3c0b5b672",
            "cardholder_contact_date": "2023-06-01T01:00:00Z",
            "provisional_credit_granted": false
        }
    }
}
```

<h2 id="_transaction_events">
  Transaction events
</h2>

The following applies to debit transaction events only. For credit journal entries, see [Credit journal entry events](#_credit_journal_entry_events).

Transaction events include activities such as authorizations, authorization clearings, and refunds. Although you might think of an authorization and authorization clearing as two parts of the same conceptual transaction, the Marqeta platform treats each transaction-related message exchange as a separate transaction event with a unique identifying token.

Transaction notifications are sent in real time as transaction events occur; they contain detailed information about the events.

All transaction notifications contain a `type` field that categorizes the transaction event. The following table lists all possible values for the `type` field. The table describes each type, indicates the objects potentially included in that transaction type, and lists the transaction types that could potentially complete it. The values in the Type column are the literal values of the notification’s `type` field. When [configuring a webhook](/core-api/webhooks/) to capture these events, you must prefix this type with `transaction` (for example, `transaction.authorization`).

The `response.code` field describes the outcome of the attempted transaction. For more information on transaction outcomes, see the [transaction response codes table](/developer-guides/about-transactions/#_transaction_response_codes).

See all transaction response fields in [Transactions](/core-api/transactions/).

| Type                                                   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `account.funding.authorization`                        | Funds hold for an Account Funding Transaction (AFT).<br /><br />Temporary transaction type.<br /><br />**Possibly completed by:**`account.funding.authorization.clearing`                                                                                                                                                                                                                                                                                                     |
| `account.funding.authorization.clearing`               | Completes an AFT authorization (`account.funding.authorization`).<br /><br />Final transaction type.                                                                                                                                                                                                                                                                                                                                                                          |
| `account.funding.auth_plus_capture`                    | Funds hold for a single-message AFT.<br /><br />Final transaction type.                                                                                                                                                                                                                                                                                                                                                                                                       |
| `account.funding.authorization.reversal`               | Cancels and reverses an AFT authorization (`account.funding.authorization`).<br /><br />Final transaction type.                                                                                                                                                                                                                                                                                                                                                               |
| `account.funding.auth_plus_capture.reversal`           | Reverses and cancels a single-message AFT (`account.funding.auth_plus_capture`).<br /><br />Final transaction type.                                                                                                                                                                                                                                                                                                                                                           |
| `accountfunding.pull`                                  | Pulls from an external card to fund a Marqeta cardholder account.<br /><br />Final transaction type.                                                                                                                                                                                                                                                                                                                                                                          |
| `ach.pull.pending`                                     | Pending credit of funds to a direct deposit, general purpose, or program funding account.<br /><br />Temporary transaction type.<br /><br />State of associated ACH bank transfer record: `PENDING`.<br /><br />**Possibly completed by:**`ach.pull`, `ach.cancel`, `ach.pull.returned`<br /><br />**Possibly included objects:**`transaction_attributes`, `gpa`<br /><br />**Possibly included fields:**`transaction.bank_transfer_token`, `transaction.state`               |
| `ach.pull`                                             | Credit of funds to a direct deposit, general purpose, or program funding account.<br /><br />Final transaction type unless the transaction is reversed.<br /><br />**State of associated ACH record:**`COMPLETED`<br /><br />**Possibly followed by:**`ach.pull.returned`<br /><br />**Possibly included objects:**`transaction_attributes`, `gpa`<br /><br />**Possibly included fields:**`transaction.bank_transfer_token`, `transaction.state`                             |
| `ach.push.pending`                                     | Pending debit of funds to a direct deposit, general purpose, or program funding account.<br /><br />Temporary transaction type.<br /><br />**State of associated ACH bank transfer record:**`PENDING`<br /><br />**Possibly completed by:**`ach.push`, `ach.cancel`, `ach.push.returned`<br /><br />**Possibly included objects:**`transaction_attributes`, `gpa`<br /><br />**Possibly included fields:**`transaction.bank_transfer_token`, `transaction.state`              |
| `ach.push`                                             | Debit of funds to a direct deposit, general purpose, or program funding account.<br /><br />Final transaction type unless the transaction is reversed.<br /><br />**State of associated ACH record:**`COMPLETED`<br /><br />**Possibly followed by:**`ach.push.returned`<br /><br />**Possibly included objects:**`transaction_attributes`, `gpa`<br /><br />**Possibly included fields:**`transaction.bank_transfer_token`, `transaction.state`                              |
| `ach.cancel`                                           | Reverses a pending credit (`ach.pull.pending`) or debit (`ach.push.pending`) of funds to a direct deposit, general purpose, or program funding account.<br /><br />Final transaction type.<br /><br />**State of associated ACH record:**`CANCELLED`<br /><br />**Possibly included objects:**`transaction_attributes`, `gpa`<br /><br />**Possibly included fields:**`transaction.bank_transfer_token`, `transaction.state`                                                  |
| `ach.pull.returned`                                    | Reverses a pending or completed credit (`ach.pull.pending` or `ach.pull`) of funds to a direct deposit, general purpose, or program funding account.<br /><br />Final transaction type.<br /><br />**State of associated ACH record:**`RETURNED`<br /><br />**Possibly included objects:**`transaction_attributes`, `gpa`<br /><br />**Possibly included fields:**`transaction.bank_transfer_token`, `transaction.state`                                                      |
| `ach.push.returned`                                    | Reverses a pending or completed debit (`ach.push.pending` or `ach.push`) of funds to a direct deposit, general purpose, or program funding account.<br /><br />Final transaction type.<br /><br />**State of associated ACH record:**`RETURNED`<br /><br />**Possibly included objects:**`transaction_attributes`, `gpa`<br /><br />**Possibly included fields:**`transaction.bank_transfer_token`, `transaction.state`                                                       |
| `authorization`                                        | Funds hold due to card usage.<br /><br />Temporary transaction type. Requires settlement.<br /><br />**Possibly completed by:**`authorization.advice`, `authorization.reversal`, `authorization.reversal.issuerexpiration`, `authorization.clearing`<br /><br />**Possibly included objects:**`card_acceptor`, `gpa`, `user.metadata`, `digital_wallet_token`                                                                                                                 |
| `authorization.account_verification`                   | Authorization request for account verification. Also known as a zero-dollar authorization.<br /><br />An account verification request allows acquirers to verify a card without putting a hold on funds.                                                                                                                                                                                                                                                                      |
| `authorization.advice`                                 | Decreases the amount of an existing authorization (`authorization`).<br /><br />Temporary transaction type. Requires settlement. Must be honored.<br /><br />**Possibly completed by:**`authorization.reversal`, `authorization.reversal.issuerexpiration`, `authorization.clearing`<br /><br />**Possibly included objects:**`card_acceptor`, `gpa`, `user.metadata`, `digital_wallet_token`                                                                                 |
| `authorization.atm.withdrawal`                         | In the EU, authorization for withdrawing cash at an ATM. In the US, this event indicates that the cardholder got cash from a bank teller rather than an ATM.<br /><br />Temporary transaction type.<br /><br />**Possibly completed by:**`authorization.clearing.atm.withdrawal`                                                                                                                                                                                              |
| `authorization.cashback`                               | Authorization for cash back requested at a point-of-sale terminal.<br /><br />Temporary transaction type.<br /><br />**Possibly completed by:**`authorization.clearing.cashback`                                                                                                                                                                                                                                                                                              |
| `authorization.clearing`                               | Completes an authorization (`authorization`).<br /><br />Final transaction type.<br /><br />**Possibly included objects:**`card_acceptor`, `gpa`, `user.metadata`, `digital_wallet_token`                                                                                                                                                                                                                                                                                     |
| `authorization.clearing.atm.withdrawal`                | Completes an authorization for withdrawing cash at an ATM (`authorization.atm.withdrawal`).<br /><br />Final transaction type.                                                                                                                                                                                                                                                                                                                                                |
| `authorization.clearing.cashback`                      | Completes an authorization for cash back requested at a point-of-sale terminal (`authorization.cashback`).<br /><br />Final transaction type.                                                                                                                                                                                                                                                                                                                                 |
| `authorization.clearing.chargeback`                    | Marqeta-initiated chargeback.<br /><br />**Possibly completed by:**`authorization.clearing.chargeback.reversal`, `authorization.clearing.chargeback.completed`<br /><br />**Possibly included objects:**`gpa`, `chargeback`, `user.metadata`<br /><br />**Possible states:**`INITIATED`, `PREARBITRATION`, `ARBITRATION`,<br /><br />**Ledger impact:** Positive if `credit_user` is `true`; none if `credit_user` is `false`.                                                |
| `authorization.clearing.chargeback.completed`          | Completes a Marqeta-initiated chargeback (`authorization.clearing.chargeback`).<br /><br />**Possibly included objects:**`gpa`, `chargeback`, `user.metadata`<br /><br />**Possible states:**`CASE_WON`<br /><br />**Ledger impact:** Positive.                                                                                                                                                                                                                               |
| `authorization.clearing.chargeback.provisional.credit` | Provides a credit by moving a chargeback (`authorization.clearing.chargeback`) from the workflow for non-provisional credit to provisional credit.<br /><br />Final transaction type. Requires settlement.<br /><br />**Possibly included objects:**`gpa`, `chargeback`, `user.metadata`                                                                                                                                                                                      |
| `authorization.clearing.chargeback.provisional.debit`  | Removes the initial credit by moving a chargeback (`authorization.clearing.chargeback`) from the workflow for provisional credit to non-provisional credit.<br /><br />Final transaction type. Requires settlement.<br /><br />**Possibly included objects:**`gpa`, `chargeback`, `user.metadata`                                                                                                                                                                             |
| `authorization.clearing.chargeback.reversal`           | Reverses a rejected, Marqeta-initiated chargeback (`authorization.clearing.chargeback`).<br /><br />**Possibly included objects:**`gpa`, `chargeback`, `user.metadata`<br /><br />**Possible states:**`CASE_LOST`, `NETWORK_REJECTED`<br /><br />**Ledger impact:** Negative if `credit_user` is `true`; none if `credit_user` is `false`.                                                                                                                                    |
| `authorization.clearing.chargeback.writeoff`           | Writes off the chargeback (`authorization.clearing.chargeback`) and credits the account holder while Marqeta or its customer absorbs the cost.<br /><br />Final transaction type.<br /><br />**Possibly included objects:**`gpa`, `chargeback`, `user.metadata`<br /><br />**Possible states:**`WRITTEN_OFF_PROGRAM`, `WRITTEN_OFF_ISSUER`<br /><br />**Ledger impact:** Positive.                                                                                            |
| `authorization.clearing.quasi.cash`                    | Completes an authorization at a point-of-sale terminal for items equivalent to cash (`authorization.quasi.cash`), such as traveler’s checks, money orders, foreign currency, or gaming chips.<br /><br />Final transaction type.                                                                                                                                                                                                                                              |
| `authorization.clearing.representment`                 | Merchant dispute of a Marqeta-initiated chargeback (`authorization.clearing.chargeback`).<br /><br />**Possible states:**`REPRESENTMENT`<br /><br />**Ledger impact:** Negative if `credit_user` is `true`; none if `credit_user` is `false` and representment amount equals original amount; positive if `credit_user` is `false` and representment amount is less than original amount.<br /><br />**Possibly included objects:**`gpa`, `chargeback`, `user.metadata`       |
| `authorization.incremental`                            | Increases the amount of a prior authorization (`authorization`) by adding to it without replacing it.<br /><br />Temporary transaction type. Requires settlement.<br /><br />**Possibly completed by:**`authorization.reversal`<br /><br />**Possibly included objects:**`card_acceptor`, `gpa`, `user.metadata`, `digital_wallet_token`                                                                                                                                      |
| `authorization.pin.change`                             | ATM transaction that changes the card’s online PIN and offline PIN.<br /><br />**NOTE:** PIN change transactions are only supported for Visa. Please reach out to your Marqeta representative to enable this feature.                                                                                                                                                                                                                                                         |
| `authorization.pin.unblock`                            | ATM transaction that:<br /><br />- Reactivates the card if it was suspended due to a `PIN_RETRY_EXCEEDED` error.<br />- Resets the online PIN retry attempt counter to zero.<br />- Resets the offline PIN retry attempt counter on the EMV chip to zero.<br /><br />**NOTE:** PIN change transactions are only supported for Visa. Please reach out to your Marqeta representative to enable this feature.                                                                   |
| `authorization.quasi.cash`                             | Authorization at a point-of-sale terminal for items equivalent to cash, such as traveler’s checks, money orders, foreign currency, or gaming chips.<br /><br />Temporary transaction type.<br /><br />**Possibly completed by:**`authorization.clearing.quasi.cash`                                                                                                                                                                                                           |
| `authorization.reversal`                               | Reverses or drops an authorization (`authorization`) due to elapsed time.<br /><br />**Possibly included objects:**`card_acceptor`, `gpa`, `user.metadata`, `digital_wallet_token`                                                                                                                                                                                                                                                                                            |
| `authorization.reversal.issuerexpiration`              | Reverses or drops an authorization (`authorization`) due to elapsed time; initiated by Marqeta.<br /><br />**Possibly included objects:**`card_acceptor`, `gpa`, `user.metadata`, `digital_wallet_token`<br /><br />Final transaction type.<br /><br />**Possibly included objects:**`card_acceptor`, `gpa`, `user.metadata`, `digital_wallet_token`                                                                                                                          |
| `balanceinquiry`                                       | Returns account balance information.<br /><br />**Possibly included objects:**`balances`                                                                                                                                                                                                                                                                                                                                                                                      |
| `billpay.pending`                                      | Creates a pending bill payment.<br /><br />Temporary transaction type.<br /><br />**State of the associated bill payment record:**`PENDING`<br /><br />**Possibly included objects:**`gpa`, `billpay`                                                                                                                                                                                                                                                                         |
| `billpay.complete`                                     | Completes a bill payment.<br /><br />Final transaction type.<br /><br />**State of the associated bill payment record:**`COMPLETE`<br /><br />**Possibly included objects:**`gpa`, `billpay`                                                                                                                                                                                                                                                                                  |
| `billpay.cancelled`                                    | Cancels a pending bill payment.<br /><br />Final transaction type.<br /><br />**State of the associated bill payment record:**`CANCELLED`<br /><br />**Possibly included objects:**`gpa`, `billpay`                                                                                                                                                                                                                                                                           |
| `billpay.returned`                                     | Returns a pending bill payment.<br /><br />Final transaction type.<br /><br />**State of the associated bill payment record:**`RETURNED`<br /><br />**Possibly included objects:**`gpa`, `billpay`                                                                                                                                                                                                                                                                            |
| `billpay.failed`                                       | Indicates a failed bill payment.<br /><br />Final transaction type.<br /><br />**State of the associated bill payment record:**`FAILED`<br /><br />**Possibly included objects:**`gpa`, `billpay`                                                                                                                                                                                                                                                                             |
| `directdeposit.credit`                                 | Credits funds to a deposit account.<br /><br />Final transaction type.<br /><br />**State of associated direct deposit record:**`APPLIED`<br /><br />**Possibly included objects:**`gpa`, `direct_deposit`, `user.metadata`                                                                                                                                                                                                                                                   |
| `directdeposit.credit.pending`                         | Pending credit of funds to a deposit account.<br /><br />Temporary transaction type.<br /><br />**State of associated direct deposit record:**`PENDING`<br /><br />**Possibly completed by**`directdeposit.credit`, `directdeposit.credit.reversal`, `directdeposit.credit.reject`<br /><br />**Possibly included objects:**`gpa`, `direct_deposit`, `user.metadata`                                                                                                          |
| `directdeposit.credit.reject`                          | Rejects a crediting of funds to a deposit account (`directdeposit.credit`).<br /><br />Final transaction type.<br /><br />**State of associated direct deposit record:**`REJECTED`<br /><br />**Possibly included objects:**`gpa`, `direct_deposit`, `user.metadata`                                                                                                                                                                                                          |
| `directdeposit.credit.pending.reversal`                | Reverses a pending credit of funds to a deposit account (`directdeposit.credit.pending`).<br /><br />Final transaction type.<br /><br />**State of associated direct deposit record:**`REVERSED`<br /><br />**Possibly included objects:**`gpa`, `direct_deposit`, `user.metadata`                                                                                                                                                                                            |
| `directdeposit.credit.reversal`                        | Reverses a credit of funds to a deposit account (`directdeposit.credit`).<br /><br />Final transaction type.<br /><br />**State of associated direct deposit record:**`REVERSED`<br /><br />**Possibly included objects:**`gpa`, `direct_deposit`, `user.metadata`                                                                                                                                                                                                            |
| `directdeposit.debit`                                  | Debits funds from a deposit account.<br /><br />Final transaction type.<br /><br />**Possibly included objects:**`gpa`, `direct_deposit`, `user.metadata`                                                                                                                                                                                                                                                                                                                     |
| `directdeposit.debit.pending`                          | Pending debit of funds from a deposit account.<br /><br />Temporary transaction type.<br /><br />**State of associated direct deposit record:**`PENDING`<br /><br />**Possibly completed by:**`directdeposit.debit`, `directdeposit.debit.reversal`, `directdeposit.debit.reject`<br /><br />**Possibly included objects:**`gpa`, `direct_deposit`, `user.metadata`                                                                                                           |
| `directdeposit.debit.reject`                           | Rejects a debit of funds from a deposit account (`directdeposit.debit`).<br /><br />Final transaction type.<br /><br />**State of associated direct deposit record:**`REJECTED`<br /><br />**Possibly included objects:**`gpa`, `direct_deposit`, `user.metadata`                                                                                                                                                                                                             |
| `directdeposit.debit.reversal`                         | Reverses a debit of funds from a deposit account (`directdeposit.debit`).<br /><br />Final transaction type.<br /><br />**State of associated direct deposit record:**`REVERSED`<br /><br />**Possibly included objects:**`gpa`, `direct_deposit`, `user.metadata`                                                                                                                                                                                                            |
| `directdeposit.debit.pending.reversal`                 | Reverses a pending debit of funds from a deposit account (`directdeposit.debit.pending`).<br /><br />Final transaction type.<br /><br />**State of associated direct deposit record:**`REVERSED`<br /><br />**Possibly included objects:**`gpa`, `direct_deposit`, `user.metadata`                                                                                                                                                                                            |
| `fee.charge`                                           | Fee assessed to a user.<br /><br />Final transaction type.<br /><br />**Possibly completed by:**`fee.charge.reversal`<br /><br />**Possibly included objects:**`gpa`, `gpa_order`, `fee_transfer`                                                                                                                                                                                                                                                                             |
| `fee.charge.pending`                                   | Authorization with an associated fee.<br /><br />Temporary transaction type.<br /><br />**Possibly completed by:**`fee.charge.reversal`, `fee.charge`<br /><br />**Possibly included objects:**`gpa`, `gpa_order`, `fee_transfer`                                                                                                                                                                                                                                             |
| `fee.charge.reversal`                                  | Reverses a transaction and its associated fee (`fee.charge`).<br /><br />**Possibly included objects:**`gpa`, `gpa_order`, `fee_transfer`                                                                                                                                                                                                                                                                                                                                     |
| `gpa.credit`                                           | A transfer of funds into a user’s GPA.<br /><br />Final transaction type.<br /><br />**Possibly included objects:**`gpa`, `gpa_order`                                                                                                                                                                                                                                                                                                                                         |
| `gpa.credit.authorization`                             | Just-in-Time (JIT) Funding authorization for crediting funds to a user’s GPA (`gpa.credit`).<br /><br />Temporary transaction type.<br /><br />**Possibly completed by:**`gpa.credit.pending.reversal`, `gpa.credit`<br /><br />**Possibly included objects:**`gpa`, `gpa_order`                                                                                                                                                                                              |
| `gpa.credit.authorization.reversal`                    | Reverses a JIT Funding authorization for crediting funds to a user’s GPA (`gpa.credit.authorization`).<br /><br />Final transaction type.<br /><br />**Possibly included objects:**`gpa`, `gpa_order`                                                                                                                                                                                                                                                                         |
| `gpa.credit.issueroperator`                            | Admin function for crediting funds to any GPA . Functionally the same as `gpa.credit`.<br /><br />**Possibly included objects:**`gpa`, `gpa_order`                                                                                                                                                                                                                                                                                                                            |
| `gpa.credit.networkload`                               | Loads funds through a card network service, such as Visa ReadyLink or Mastercard RePower, at a participating merchant location.<br /><br />Final transaction type.<br /><br />**Possibly included objects:**`gpa`                                                                                                                                                                                                                                                             |
| `gpa.credit.networkload.reversal`                      | Cancels the full amount of a load performed through a card network service (`gpa.credit.networkload`), such as Visa ReadyLink or Mastercard RePower. Permitted only on the same day as the load.<br /><br />Final transaction type.<br /><br />**Possibly included objects:**`gpa`                                                                                                                                                                                            |
| `gpa.credit.pending`                                   | Pending ACH deposit into a user’s GPA.<br /><br />Temporary transaction type.<br /><br />**Possibly completed by:**`gpa.credit.pending.reversal`, `gpa.credit`<br /><br />**Possibly included objects:**`gpa`, `gpa_order`                                                                                                                                                                                                                                                    |
| `gpa.credit.pending.reversal`                          | Reverses a pending ACH deposit into a user’s GPA (`gpa.credit.pending`).<br /><br />Final transaction type.<br /><br />**Possibly included objects:**`gpa`, `gpa_order`                                                                                                                                                                                                                                                                                                       |
| `gpa.credit.reversal`                                  | Reverses an ACH deposit into a user’s GPA (`gpa.credit`).<br /><br />Final transaction type.<br /><br />**Possibly included objects:**`gpa`, `gpa_order`                                                                                                                                                                                                                                                                                                                      |
| `gpa.debit`                                            | Debits funds from a user’s GPA back into a funding source.<br /><br />**Possibly included objects:**`gpa`                                                                                                                                                                                                                                                                                                                                                                     |
| `gpa.debit.authorization`                              | Just-in-Time (JIT) Funding authorization for debiting funds from a user’s GPA (`gpa.debit`).<br /><br />Temporary transaction type.<br /><br />**Possibly completed by:**`gpa.debit.reversal`, `gpa.debit`<br /><br />**Possibly included objects:**`gpa`, `gpa_order`                                                                                                                                                                                                        |
| `gpa.debit.issueroperator`                             | Admin function to debit funds from any GPA. Functionally the same as `gpa.debit`.<br /><br />**Possibly included objects:**`gpa`, `gpa_order`                                                                                                                                                                                                                                                                                                                                 |
| `gpa.debit.reversal`                                   | Reverses a debiting of funds from a user’s GPA back into a funding source (`gpa.debit`), thereby moving funds from the funding source back into the GPA.<br /><br />Final transaction type.<br /><br />**Possibly included objects:**`gpa_order`                                                                                                                                                                                                                              |
| `open.banking.fps.debit.hold`                          | A pending Faster Payment Service (FPS) open banking transaction initiated by an external beneficiary that debits the cardholder and credits the external beneficiary.                                                                                                                                                                                                                                                                                                         |
| `open.banking.fps.debit.clear`                         | A cleared FPS open banking transaction initiated by an external beneficiary that debits the cardholder and credits the external beneficiary.                                                                                                                                                                                                                                                                                                                                  |
| `open.banking.fps.debit.hold.reverse`                  | Reverses a pending FPS open banking transaction.                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `open.banking.fps.debit.clear.reverse`                 | Reverses a cleared FPS open banking transaction.                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `original.credit.authorization`                        | OCT authorization for crediting funds to a GPA.<br /><br />Temporary transaction type.<br /><br />**Ledger impact:** Positive.<br /><br />**Possibly included objects:**`original.credit.authorization.reversal`, `original.credit.authorization.clearing`                                                                                                                                                                                                                    |
| `original.credit.authorization.reversal`               | Reverses the financial impact of an OCT authorization (`original.credit.authorization`).<br /><br />Final transaction type.<br /><br />**Ledger impact:** Negative.                                                                                                                                                                                                                                                                                                           |
| `original.credit.authorization.clearing`               | Completes an OCT authorization (`original.credit.authorization`).<br /><br />Final transaction type.<br /><br />**Ledger impact:** Positive.                                                                                                                                                                                                                                                                                                                                  |
| `original.credit.auth_plus_capture`                    | Single-message OCT for crediting funds to a GPA.<br /><br />**Ledger impact:** Positive.                                                                                                                                                                                                                                                                                                                                                                                      |
| `original.credit.auth_plus_capture.reversal`           | Reverses the financial impact of a single-message OCT (`original.credit.auth_plus_capture`).<br /><br />**Ledger impact:** Negative.                                                                                                                                                                                                                                                                                                                                          |
| `pin.change.reversal`                                  | Reversal transaction that typically follows a PIN change transaction (`pindebit.pin.change` or `authorization.pin.change`) when the PIN change transaction updated the online PIN successfully, but failed to update the offline PIN. Restores the previous online PIN to keep it synchronized with the offline PIN.<br /><br />**NOTE:** PIN change transactions are only supported for Visa. Please reach out to your Marqeta representative to enable this feature.        |
| `pin.change.reversal.advice`                           | Reversal advice transaction that typically follows a PIN change transaction (`pindebit.pin.change` or `authorization.pin.change`) when the PIN change transaction updated the online PIN successfully, but failed to update the offline PIN. Restores the previous online PIN to keep it synchronized with the offline PIN.<br /><br />**NOTE:** PIN change transactions are only supported for Visa. Please reach out to your Marqeta representative to enable this feature. |
| `pindebit`                                             | PIN-debit transaction at a point-of-sale terminal.<br /><br />**Possibly included objects:**`card_acceptor`, `gpa`, `user.metadata`                                                                                                                                                                                                                                                                                                                                           |
| `pindebit.atm.withdrawal`                              | Withdraws cash at an ATM.<br /><br />**Possibly included objects:**`card_acceptor`, `gpa`, `user.metadata`                                                                                                                                                                                                                                                                                                                                                                    |
| `pindebit.authorization`                               | PIN-debit authorization at an automated fuel dispenser (AFD).<br /><br />Temporary transaction type.<br /><br />**Possibly completed by:**`pindebit.authorization.clearing`, `pindebit.authorization.reversal`<br /><br />**Possibly included objects:**`card_acceptor`, `gpa`, `user.metadata`                                                                                                                                                                               |
| `pindebit.authorization.clearing`                      | Completes a PIN-debit authorization at an AFD (`pindebit.authorization`), or a PIN-debit authorization of `pindebit.cashback` where `is_preauthorization = true`.<br /><br />Final transaction type.<br /><br />**Possibly included objects:**`card_acceptor`, `gpa`, `user.metadata`                                                                                                                                                                                         |
| `pindebit.authorization.reversal`                      | Reverses the financial impact of a PIN-debit authorization at an AFD (`pindebit.authorization`).<br /><br />**Possibly included objects:**`card_acceptor`, `gpa`, `user.metadata`                                                                                                                                                                                                                                                                                             |
| `pindebit.authorization.reversal.issuerexpiration`     | Authorization drop initiated by Marqeta due to elapsed time. Most transactions of this type originate from authorizations at AFDs.<br /><br />**Possibly included objects:**`card_acceptor`, `gpa`, `user.metadata`                                                                                                                                                                                                                                                           |
| `pindebit.balanceinquiry`                              | Balance inquiry via the card network e.g., at an ATM.<br /><br />Non-financial transaction.<br /><br />**Possibly included objects:**`card_acceptor`, `gpa`, `user.metadata`                                                                                                                                                                                                                                                                                                  |
| `pindebit.cashback`                                    | PIN-debit transaction for cash back requested at a point-of-sale terminal.<br /><br />**Possibly included objects:**`card_acceptor`, `gpa`, `user.metadata`                                                                                                                                                                                                                                                                                                                   |
| `pindebit.chargeback`                                  | Marqeta-initiated PIN-debit chargeback.<br /><br />**Possible states:**`INITIATED`, `PREARBITRATION`, `ARBITRATION`<br /><br />**Ledger impact:** Positive if `credit_user` is `true`; none if `credit_user` is `false`.<br /><br />**Possibly completed by:**`pindebit.chargeback.reversal`, `pindebit.chargeback.completed`<br /><br />**Possibly included objects:**`gpa`, `chargeback`, `user.metadata`                                                                   |
| `pindebit.chargeback.completed`                        | Completes a PIN-debit chargeback initiated by Marqeta (`pindebit.chargeback`).<br /><br />**Possible states:**`CASE_WON`<br /><br />**Ledger impact:** Positive.<br /><br />**Possibly included objects:**`gpa`, `chargeback`, `user.metadata`                                                                                                                                                                                                                                |
| `pindebit.chargeback.provisional.credit`               | Provides a credit by moving a PIN-debit chargeback (`pindebit.chargeback`) from the workflow for non-provisional credit to provisional credit.<br /><br />Final transaction type. Requires settlement.<br /><br />**Possibly included objects:**`gpa`, `chargeback`, `user.metadata`                                                                                                                                                                                          |
| `pindebit.chargeback.provisional.debit`                | Removes the initial credit by moving a PIN-debit chargeback (`pindebit.chargeback`) from the workflow for provisional credit to non-provisional credit.<br /><br />Final transaction type. Requires settlement.<br /><br />**Possibly included objects:**`gpa`, `chargeback`, `user.metadata`                                                                                                                                                                                 |
| `pindebit.chargeback.reversal`                         | Reverses a rejected, Marqeta-initiated, PIN-debit chargeback (`pindebit.chargeback`).<br /><br />**Possible states:**`CASE_LOST`, `NETWORK_REJECTED`<br /><br />**Ledger impact:** Negative if `credit_user` is `true`; `none` if `credit_user` is `false`.<br /><br />**Possibly included objects:**`gpa`, `chargeback`, `user.metadata`                                                                                                                                     |
| `pindebit.chargeback.writeoff`                         | Writes off the PIN-debit chargeback (`pindebit.chargeback`) and credits the account holder while Marqeta or its customer absorbs the cost.<br /><br />Final transaction type.<br /><br />**Possible states:**`WRITTEN_OFF_PROGRAM`, `WRITTEN_OFF_ISSUER`<br /><br />**Ledger impact:** Positive.<br /><br />**Possibly included objects:**`gpa`, `chargeback`, `user.metadata`                                                                                                |
| `pindebit.credit.adjustment`                           | Offsets the amount of non-AFD transactions (PIN-debit cashback \[`pindebit.cashback`] or PIN-debit withdrawal \[`pindebit.atm.withdrawal`]) as needed.<br /><br />Final transaction type.<br /><br />**Possibly included objects:**`card_acceptor`, `gpa`, `gpa_order`                                                                                                                                                                                                        |
| `pindebit.pin.change`                                  | PIN-debit transaction at an ATM that changes the card’s online PIN and offline PIN.<br /><br />**NOTE:** PIN change transactions are only supported for Visa. Please reach out to your Marqeta representative to enable this feature.                                                                                                                                                                                                                                         |
| `pindebit.pin.unblock`                                 | PIN-debit transaction at the ATM that:<br /><br />- Reactivates the card if it was suspended due to a `PIN_RETRY_EXCEEDED` error.<br />- Resets the online PIN retry attempt counter to zero.<br />- Resets the offline PIN retry attempt counter on the EMV chip to zero.                                                                                                                                                                                                    |
| `pindebit.quasi.cash`                                  | PIN-debit transaction at a point-of-sale terminal for items equivalent to cash, such as traveler’s checks, money orders, foreign currency, or gaming chips.                                                                                                                                                                                                                                                                                                                   |
| `pindebit.refund`                                      | Refunds a PIN-debit transaction (`pindebit`).<br /><br />**Possibly included objects:**`card_acceptor`, `gpa`                                                                                                                                                                                                                                                                                                                                                                 |
| `pindebit.refund.reversal`                             | Reverses a PIN-debit refund (`pindebit.refund`).<br /><br />**Possibly included objects:**`card_acceptor`, `gpa`, `merchant`, `gpa_order_unload`, `user`, `card`                                                                                                                                                                                                                                                                                                              |
| `pindebit.representment`                               | Merchant dispute of a Marqeta-initiated chargeback (`authorization.clearing.chargeback`).<br /><br />**Possible states:**`REPRESENTMENT`<br /><br />**Ledger impact:** Negative if `credit_user` is true; none if `credit_user` is false and representment amount equals original amount; positive if `credit_user` is false and representment amount is less than original amount.<br /><br />**Possibly included objects:**`gpa`, `chargeback`, `user.metadata`             |
| `pindebit.reversal`                                    | Reverses the financial impact of a PIN-debit transaction (`pindebit`) or PIN-debit authorization (`pindebit.authorization`).<br /><br />**Possibly included objects:**`card_acceptor`, `gpa`, `user.metadata`                                                                                                                                                                                                                                                                 |
| `pindebit.transfer`                                    | ATM transfer between a checking and a savings account.                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `product.inquiry`                                      | A zero-dollar authorization request to determine Visa Flexible Credential eligibility.                                                                                                                                                                                                                                                                                                                                                                                        |
| `programreserve.credit`                                | Credits funds from a program funding account (sometimes referred to as a *program reserve account*).                                                                                                                                                                                                                                                                                                                                                                          |
| `programreserve.debit`                                 | Debits funds from a program funding account (sometimes referred to as a *program reserve account*).                                                                                                                                                                                                                                                                                                                                                                           |
| `refund`                                               | Refunds a cardholder’s transaction.<br /><br />**Possibly included objects:**`card_acceptor`, `gpa`                                                                                                                                                                                                                                                                                                                                                                           |
| `refund.authorization`                                 | Authorization for a purchase return.<br /><br />Temporary transaction type.<br /><br />**Possibly completed by:**`refund.authorization.reversal`, `refund.authorization.clearing`                                                                                                                                                                                                                                                                                             |
| `refund.authorization.clearing`                        | Completes a purchase return authorization (`refund.authorization`).                                                                                                                                                                                                                                                                                                                                                                                                           |
| `refund.authorization.reversal`                        | Reverses a purchase return authorization (`refund.authorization`).                                                                                                                                                                                                                                                                                                                                                                                                            |
| `token.activation-request`                             | Request to activate a digital wallet token.                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `transfer.peer`                                        | Moves money between GPAs. Results from sending a request to the `/peertransfers` endpoint.<br /><br />**Possibly included objects:**`gpa`, `peer_transfer`                                                                                                                                                                                                                                                                                                                    |
| `transfer.program`                                     | Movement of funds from the cardholder’s GPA to the program funding source. Results from using the `/programtransfers` endpoint.<br /><br />**Possibly included objects:**`gpa`, `programtransfers`                                                                                                                                                                                                                                                                            |
| `unknown`                                              | Helps identify transaction errors. Unlikely to occur.                                                                                                                                                                                                                                                                                                                                                                                                                         |

The following is a sample transaction notification. The `type` and `amount` fields are always returned. Other fields and object groups are conditionally returned. Refer to the preceding table for a list of objects possibly included for each transaction type.

```json JSON expandable lines wrap theme={null}
{
  "transactions": [
    {
     "type": "authorization",
     "state": "PENDING",
     "token": "36d04781-d34f-4e0c-b895-2f1af976b565",
     "user_token": "99f323d4-298f-4b0c-93b1-19b2d9921eb8",
     "acting_user_token": "99f323d4-298f-4b0c-93b1-19b2d9921eb8",
     "card_token": "02cc766c-24a5-4c3b-adcf-0e5e27b09329",
     "fleet_data": {
       "purchase_type": "fuel_and_non_fuel",
       "prompt_data": {
         "driver_number": "92514",
         "vehicle_number": "365",
         "odometer": "74123"
      }
     },
     "gpa": {
         "currency_code": "USD",
         "ledger_balance": 20,
         "available_balance": 0,
         "credit_balance": 0,
         "pending_credits": 0,
         "impacted_amount": -10,
         "balances": {
             "USD": {
                 "currency_code": "USD",
                 "ledger_balance": 20,
                 "available_balance": 0,
                 "credit_balance": 0,
                 "pending_credits": 0,
                 "impacted_amount": -10
             }
         }
     },
     "gpa_order": {
         "token": "592b8164-a4af-45ee-ab24-13a4bb43e6b2",
         "amount": 10,
         "created_time": "2023-08-21T17:26:30Z",
         "last_modified_time": "2023-08-21T17:26:30Z",
         "transaction_token": "e899e39f-5f43-4d0f-857d-75608d949908",
         "state": "PENDING",
         "response": {
             "code": "0000",
             "memo": "Approved or completed successfully"
         },
         "funding": {
             "amount": 10,
             "source": {
                 "type": "programgateway",
                 "token": "**********dd5f",
                 "active": true,
                 "name": "PGFS for simulating transactions",
                 "is_default_account": false,
                 "created_time": "2023-08-21T17:25:43Z",
                 "last_modified_time": "2023-08-21T17:25:43Z"
             },
             "gateway_log": {
                 "order_number": "36d04781-d34f-4e0c-b895-2f1af976b565",
                 "transaction_id": "your-jit-funding-token",
                 "message": "Approved or completed successfully",
                 "duration": 481,
                 "timed_out": false,
                 "response": {
                     "code": "200",
                     "data": {
                         "jit_funding": {
                             "token": "your-jit-funding-token",
                             "method": "pgfs.authorization",
                             "user_token": "your-jit-funding-user",
                             "amount": 10,
                             "original_jit_funding_token": "your-jit-funding-token",
                             "address_verification": {
                                 "gateway": {
                                     "on_file": {
                                         "street_address": "2000 High St",
                                         "postal_code": "94601"
                                     },
                                     "response": {
                                         "code": "0000",
                                         "memo": "Address and postal code match"
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         },
         "funding_source_token": "**********dd5f",
         "jit_funding": {
             "token": "251bdc52-588a-4291-8c5d-6ded3a67e1a8",
             "method": "pgfs.authorization",
             "user_token": "99f323d4-298f-4b0c-93b1-19b2d9921eb8",
             "acting_user_token": "99f323d4-298f-4b0c-93b1-19b2d9921eb8",
             "amount": 10
         },
         "user_token": "99f323d4-298f-4b0c-93b1-19b2d9921eb8",
         "currency_code": "USD"
     },
     "duration": 622,
     "created_time": "2023-08-21T17:26:29Z",
     "user_transaction_time": "2023-08-21T17:26:29Z",
     "settlement_date": "2023-08-21T00:00:00Z",
     "request_amount": 10,
     "amount": 10,
     "issuer_interchange_amount": 0,
     "currency_code": "USD",
     "approval_code": "761515",
     "response": {
         "code": "0000",
         "memo": "Approved or completed successfully"
     },
     "network": "VISA",
     "subnetwork": "VISANET",
     "acquirer_fee_amount": 0,
     "acquirer": {
         "institution_country": "840",
         "institution_id_code": "428399181",
         "retrieval_reference_number": "528294182583",
         "system_trace_audit_number": "656761"
     },
     "user": {
         "metadata": {}
     },
     "card": {
         "metadata": {}
     },
     "card_security_code_verification": {
         "type": "CVV1",
         "response": {
             "code": "0000",
             "memo": "Card security code match"
         }
     },
     "fraud": {
         "network": {
             "transaction_risk_score": 97,
             "account_risk_score": 7
         }
     },
    "cardholder_authentication_data": {
        "electronic_commerce_indicator": "authentication_successful",
        "verification_result": "verified",
        "verification_value_created_by": "issuer_acs"
    },
     "card_acceptor": {
         "mid": "000000000011111",
         "mcc": "6411",
         "name": "Aegis Fleet Services",
         "street_address": "111 Main St",
         "city": "Berkeley",
         "country_code": "USA"
     },
     "pos": {
         "pan_entry_mode": "MAG_STRIPE",
         "pin_entry_mode": "TRUE",
         "terminal_id": "TR100000",
         "terminal_attendance": "ATTENDED",
         "card_holder_presence": false,
         "card_presence": false,
         "partial_approval_capable": false,
         "purchase_amount_only": false,
         "is_recurring": false
     },
     "transaction_metadata": {
         "payment_channel": "OTHER"
     }
    }
  ]
}
```

<h3 id="_possible_values_for_cardholder_presence_field">
  Possible values for cardholder\_presence field
</h3>

| Code | Description            |
| ---- | ---------------------- |
| 0    | Cardholder not present |
| 1    | Cardholder present     |

<h3 id="_possible_values_for_card_presence_field">
  Possible values for card\_presence field
</h3>

| Code | Description      |
| ---- | ---------------- |
| 0    | Card not present |
| 1    | Card present     |

For more information about the `transactions` object, see [Transactions](/core-api/transactions/).


## Related topics

- [RiskControl Transaction Event Types](/docs/developer-guides/riskcontrol-transaction-event-types.md)
- [About Webhooks](/docs/developer-guides/about-webhooks.md)
- [RiskControl Schema](/docs/developer-guides/riskcontrol-schema.md)
- [Error Handling in Europe](/docs/developer-guides/mq-eu-error-handling.md)
- [Payments](/docs/core-api/credit-account-payments.md)
