---
title: "Search & list events"
method: GET
path: "/merchant/workflows/{workflowCode}/executions/{executionId}/history"
tags: ["Actions"]
---

# Search & list events

`GET /merchant/workflows/{workflowCode}/executions/{executionId}/history`

Search & list a workflow execution event history.

## Path parameters

- `workflowCode` string, required — Machine-friendly code of Workflow.
- `executionId` string, uuid, required

## Query parameters

- `filter[event]` 'executionCreated' | 'executionActionRequested' | 'executionActionCompleted' | 'ruleEngineExecuted' | 'networkOffersEnrollmentCompleted' | 'executionActionScheduled' | 'executionActionUnscheduled' | 'executionActionUpdated' | 'executionActionPending' | 'executionActionStepScheduled' | 'executionActionStepUnscheduled' | 'executionActionStepRequested' | 'executionActionStepStarted' | 'executionActionStepPaused' | 'executionActionStepResumed' | 'executionActionStepCompleted' | 'executionActionStepUpdated' | 'executionTriggerStepCalled' | 'executionConditionStepEvaluated' — Name of the event.
- `filter[action]` 'lookup' | 'startPaymentSession' | 'authorize' | 'capture' | 'confirm' | 'cancel' | 'refund' — Type of action.
- `filter[actionId]` string, uuid
- `filter[notificationStatus]` 'delivered' | 'deliveryFailed' | 'pending' — Value of Notification event status enumeration.
- `filter[errorCode]` string

## Response `200`

OK.

- object
  - `events` object[], required
    - `event` 'executionCreated' | 'executionActionRequested' | 'executionActionCompleted' | 'ruleEngineExecuted' | 'networkOffersEnrollmentCompleted' | 'executionActionScheduled' | 'executionActionUnscheduled' | 'executionActionUpdated' | 'executionActionPending' | 'executionActionStepScheduled' | 'executionActionStepUnscheduled' | 'executionActionStepRequested' | 'executionActionStepStarted' | 'executionActionStepPaused' | 'executionActionStepResumed' | 'executionActionStepCompleted' | 'executionActionStepUpdated' | 'executionTriggerStepCalled' | 'executionConditionStepEvaluated', required — Name of the event.
    - `time` string, date-time, required — When this execution was started.
    - `details` union, required — Workflow event details. Sensitive information in the details is masked.
      - object — Details for an executionCreated event.
        - `request` object, required
          - `merchantReference` string, required — Merchant-provided reference for the Execution. Commonly, the identifier of the order on the Merchant's system.
          - `holderReference` string, required — Merchant-provided reference for the execution counterparty, i.e. the paying consumer.
          - `workspaceId` string — References in which workspace the execution will be created.
          - `workflowConfigOverride` object — Merchant-provided configuration data for a particular execution, overriding values for the workflow.
            - `captureMode` 'Instant' | 'Delayed' | 'Manual' — Mode of capture for the payments involved in the execution. * `Instant` - Authorize and capture payments in one step. * `Delayed` - Authorize payments initially, capture the money after a delay configured with `captureDelay`. * `Manual` - Authorize payments initially, capture the money manually via Payrails' API or portal.
            - `captureDelay` string — If `captureMode` is `Delayed`, this field can be used to configure the scheduled time when to capture the money. The format should be based on the [ISO 8601 standard](https://tc39.es/proposal-temporal/docs/duration.html).
            - `cancelMode` 'Delayed' | 'Manual' — Mode of cancel for the payments involved in the execution. * `Delayed` - Authorize payments initially, cancel the authorization after a delay configured with `cancelDelay`. * `Manual` - Authorize payments initially, cancel the authorization manually via Payrails' API or portal.
            - `cancelDelay` string — If `cancelMode` is `Delayed`, this field can be used to configure the scheduled time when to cancel the authorization. The format should be based on the [ISO 8601 standard](https://tc39.es/proposal-temporal/docs/duration.html).
          - `workflowVersion` integer — Version of a Workflow Configuration.
          - `meta` object — Metadata for the context of an execution. Includes Payrails-defined structures for most common fields used in workflows, but can also be extended by merchant or provider-specific fields. For more information, visit our [Meta Fields guide](https://docs.payrails.com/docs/configure-meta-fields-for-your-providers).
            - `order` object — The order being placed on your system.
              - …
            - `customer` object — The customer placing the order.
              - …
            - `clientContext` object — Data describing the customer's device or browser.
              - …
            - `vendor` object — Description of a vendor that provides the order.
              - …
            - `risk` object — Configuration values for the risk prevention check.
              - …
            - `subscription` object — Configuration of a subscription process.
              - …
            - `tags` object — Additional meta fields to be sent to the payment providers which support metadata / tags. For example, sent to [Stripe as metadata](https://stripe.com/docs/api/metadata). Because these will always be PSP-specific, we do NOT recommend using these fields if they can actually be mapped to a generic field above.
          - `applePayConfigId` string — ID of the Apple Pay configuration to use for this request. When provided, Apple Pay will be enabled as a payment method.
          - `initialActions` union[] — Actions to execute after the creation of the execution. Initial actions are performed sequentially, and results reported in corresponding items of `initialResults` irrespective of errors in earlier actions.
            - union
              - …
        - `response` object, required
          - `id` string, uuid, required — ID of this execution.
          - `status` object[], required — Business-case dependent set of status tags of this execution. The order of statuses does not matter and should not be used for any logic.
            - `code` string, required — Business-case dependent status code.
            - `time` string, date-time, required — When this execution status was set.
            - `errors` object[] — The reason why the status was set, absent if the status isn't an error status.
              - …
          - `createdAt` string, date-time, required — When this execution was started.
          - `merchantReference` string, required — Merchant-provided reference for the Execution. Commonly, the identifier of the order on the Merchant's system.
          - `holderReference` string, required — Merchant-provided reference for the transaction counterparty, i.e. the paying consumer.
          - `holderId` string, uuid, required — Unique identifier of the Holder in Payrails.
          - `workflow` object — Workflow template from which the Executions are created.
            - `code` string, required — Machine-friendly code of Workflow.
            - `version` integer, required — Version of a Workflow Configuration.
          - `amount` object — Amount of the execution. Only present if an amount has been set on the execution via an action (lookup, authorize, etc.).
            - `value` string, required — Decimal amount of the major currency unit. Can be any precision.
            - `currency` string, required — ISO 3-letter currency code.
          - `meta` object — Metadata for the context of an execution. Includes Payrails-defined structures for most common fields used in workflows, but can also be extended by merchant or provider-specific fields. For more information, visit our [Meta Fields guide](https://docs.payrails.com/docs/configure-meta-fields-for-your-providers).
            - `order` object — The order being placed on your system.
              - …
            - `customer` object — The customer placing the order.
              - …
            - `clientContext` object — Data describing the customer's device or browser.
              - …
            - `vendor` object — Description of a vendor that provides the order.
              - …
            - `risk` object — Configuration values for the risk prevention check.
              - …
            - `subscription` object — Configuration of a subscription process.
              - …
            - `tags` object — Additional meta fields to be sent to the payment providers which support metadata / tags. For example, sent to [Stripe as metadata](https://stripe.com/docs/api/metadata). Because these will always be PSP-specific, we do NOT recommend using these fields if they can actually be mapped to a generic field above.
          - `initialResults` object[] — Results of the `initialActions` specified during execution creation. Indexes of this array correspond one to one with those from `initialActions`, each initial action reports their result here.
            - `httpCode` integer, required — The HTTP code returned by the action invocation.
            - `body` union, required
              - …
          - `workspaceId` string, uuid — Workspace ID that that this execution belongs to.
          - `links` object — Links to the next possible actions that can be taken.
            - `self` union, required
              - …
            - `lookup` union
              - …
            - `3ds` union
              - …
            - `authorize` union
              - …
            - `startPaymentSession` union
              - …
            - `capture` union
              - …
            - `refund` union
              - …
            - `cancel` union
              - …
            - `priceBreakdown` union
              - …
            - `consumerWait` union
              - …
            - `confirm` object — Link related information.
              - …
          - `requiredAction` object — Details of the next possible actions that can be taken.
            - `type` 'redirect' | 'confirm' | 'review', required — Type of the required action.
            - `subType` 'merchant' | 'client' | 'internal' — Sub type of the required action.
            - `description` string — Details of the required action.
            - `href` string — URL to complete the required action.
            - `method` 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' — HTTP method that should be used to call the `href`.
            - `clientConfig` object — Details for the client to indicate how an action needs to be performed.
              - …
            - `action` object — Details of a prerequisite action, which needs to be executed prior calling the provided link.
          - `actionRequired` '3ds' | 'confirm' — Action the customer needs to take to move the Execution state. A link with the same name should be used to continue.
      - object — Details for an executionActionRequested event.
        - `action` 'lookup' | 'startPaymentSession' | 'authorize' | 'capture' | 'confirm' | 'cancel' | 'refund', required — Type of action.
        - `actionId` string, uuid — Unique identifier for this action execution. If its processing is done asynchronously, you will receive a notification with the same `actionId`.
        - `request` union, required
          - object
            - `amount` object, required — The amount to authorize.
              - …
            - `meta` object — Metadata for the context of an execution. Includes Payrails-defined structures for most common fields used in workflows, but can also be extended by merchant or provider-specific fields. For more information, visit our [Meta Fields guide](https://docs.payrails.com/docs/configure-meta-fields-for-your-providers).
              - …
            - `returnInfo` object, required — URLs from the merchant side where the consumer should be taken after a redirection flow. If no specific flow for `cancel` or `error` are needed, we will redirect to the value in the `success` URL. The 'pending' URL is used in case the consumer needs to be redirected back to a page if an execution stays in pending for some time.
              - …
            - `paymentComposition` object[], required — Selected composition of payments methods and instruments to execute the action. We support one payment for each Workflow for now. Split payments and multiple payments in a Workflow will be supported very soon.
              - …
          - object
            - `amount` object — The amount to capture, including currency. Full amount will be captured if not specified.
              - …
            - `reason` 'BetterPrice' | 'CustomerDontNeed' | 'DamagedProduct' | 'Duplicate' | 'FraudulentProduct' | 'LateDelivery' | 'NoReason' | 'ProductMismatchDescription' | 'WrongProduct' | 'WrongProductSpecification' — Reason for invoking the operation or action.
            - `reasonDescription` string — An optional field to include any necessary information for the capture action.
            - `meta` object — Metadata for the context of an execution. Includes Payrails-defined structures for most common fields used in workflows, but can also be extended by merchant or provider-specific fields. For more information, visit our [Meta Fields guide](https://docs.payrails.com/docs/configure-meta-fields-for-your-providers).
              - …
            - `final` boolean — The final parameter indicates if multiple partial captures are expected, if the value is false and the captured amount is less than the authorized amount then multiple partial captures can be applied until reaching the original authorized amount, if the value is true or the parameter is not sent the capture will be treated as a final capture and no further capture request will be accepted for it.
          - object
            - `reason` 'BetterPrice' | 'CustomerDontNeed' | 'DamagedProduct' | 'Duplicate' | 'FraudulentProduct' | 'LateDelivery' | 'NoReason' | 'ProductMismatchDescription' | 'WrongProduct' | 'WrongProductSpecification' — Reason for invoking the operation or action.
            - `reasonDescription` string — An optional field to include any necessary information for the capture action.
          - object
            - `amount` object — The amount to refund, including currency. Full amount will be refunded if not specified.
              - …
            - `reason` 'BetterPrice' | 'CustomerDontNeed' | 'DamagedProduct' | 'Duplicate' | 'FraudulentProduct' | 'LateDelivery' | 'NoReason' | 'ProductMismatchDescription' | 'WrongProduct' | 'WrongProductSpecification' — Reason for invoking the operation or action.
            - `reasonDescription` string — An optional field to include any necessary information for the refund action.
            - `paymentId` string, uuid — Optionally the ID of the payment to refund. Used for payment links where an execution can have multiple successful payments. If not specified, the most recent payment done using the payment link will be refunded.
            - `meta` object — Metadata for the context of an execution. Includes Payrails-defined structures for most common fields used in workflows, but can also be extended by merchant or provider-specific fields. For more information, visit our [Meta Fields guide](https://docs.payrails.com/docs/configure-meta-fields-for-your-providers).
              - …
          - object
            - `data` object, required — Any merchant-specific data that should be sent to confirm the payment.
            - `actionId` string, uuid — Unique identifier for this action execution. If its processing is done asynchronously, you will receive a notification with the same `actionId`.
            - `meta` object — Metadata for the context of an execution. Includes Payrails-defined structures for most common fields used in workflows, but can also be extended by merchant or provider-specific fields. For more information, visit our [Meta Fields guide](https://docs.payrails.com/docs/configure-meta-fields-for-your-providers).
              - …
          - object
            - `amount` object
              - …
            - `meta` object — Metadata for the context of an execution. Includes Payrails-defined structures for most common fields used in workflows, but can also be extended by merchant or provider-specific fields. For more information, visit our [Meta Fields guide](https://docs.payrails.com/docs/configure-meta-fields-for-your-providers).
              - …
          - object
            - `integrationType` 'api' | 'hpp' | 'inperson', required — Code of the integration type for using the payment method in the provider.
            - `paymentMethodCode` 'applePay' — Code of the payment method selected to start a payment session.
            - `amount` object, required
              - …
            - `returnInfo` object — URLs from the merchant side where the consumer should be taken after a redirection flow. If no specific flow for `cancel` or `error` are needed, we will redirect to the value in the `success` URL. The 'pending' URL is used in case the consumer needs to be redirected back to a page if an execution stays in pending for some time.
              - …
            - `meta` union — Any merchant-specific data that should be used and carried for context in the action execution.
              - …
        - `response` union, required
          - object
            - `name` 'authorize', required — Triggers the selected payments on PSP.
            - `actionId` string, uuid, required — Unique identifier for this action execution. If its processing is done asynchronously, you will receive a notification with the same `actionId`.
            - `workspaceId` string, uuid — Unique identifier of a workspace in Payrails.
            - `executedAt` string, date-time, required — Date and time when execution of the Action was started.
            - `links` object, required — Links to the next possible actions that can be taken.
              - …
          - object
            - `name` 'capture', required — Triggers the selected payments on PSP and book the movements on the ledger.
            - `actionId` string, uuid, required — Unique identifier for this action execution. If its processing is done asynchronously, you will receive a notification with the same `actionId`.
            - `workspaceId` string, uuid — Unique identifier of a workspace in Payrails.
            - `executedAt` string, date-time, required — Date and time when execution of the Action was started.
            - `links` object, required — Links to the next possible actions that can be taken.
              - …
            - `reason` 'BetterPrice' | 'CustomerDontNeed' | 'DamagedProduct' | 'Duplicate' | 'FraudulentProduct' | 'LateDelivery' | 'NoReason' | 'ProductMismatchDescription' | 'WrongProduct' | 'WrongProductSpecification' — Reason for invoking the operation or action.
            - `reasonDescription` string — An optional field to include any necessary information for the capture action.
          - object
            - `name` 'cancel', required — Performed action name.
            - `actionId` string, uuid, required — Unique identifier for this action execution. If its processing is done asynchronously, you will receive a notification with the same `actionId`.
            - `workspaceId` string, uuid — Unique identifier of a workspace in Payrails.
            - `executedAt` string, date-time, required — Date and time when execution of the Action was started.
            - `links` object, required — Links to the next possible actions that can be taken.
              - …
            - `reason` 'BetterPrice' | 'CustomerDontNeed' | 'DamagedProduct' | 'Duplicate' | 'FraudulentProduct' | 'LateDelivery' | 'NoReason' | 'ProductMismatchDescription' | 'WrongProduct' | 'WrongProductSpecification' — Reason for invoking the operation or action.
            - `reasonDescription` string — An optional field to include any necessary information for the cancel action.
          - object
            - `name` 'refund', required — Performed action name.
            - `actionId` string, uuid, required — Unique identifier for this action execution. If its processing is done asynchronously, you will receive a notification with the same `actionId`.
            - `workspaceId` string, uuid — Unique identifier of a workspace in Payrails.
            - `executedAt` string, date-time, required — Date and time when execution of the Action was started.
            - `links` object, required — Links to the next possible actions that can be taken.
              - …
            - `reason` 'BetterPrice' | 'CustomerDontNeed' | 'DamagedProduct' | 'Duplicate' | 'FraudulentProduct' | 'LateDelivery' | 'NoReason' | 'ProductMismatchDescription' | 'WrongProduct' | 'WrongProductSpecification' — Reason for invoking the operation or action.
            - `reasonDescription` string — An optional field to include any necessary information for the refund action.
          - object
            - `name` 'confirm', required — Confirms the selected payments on PSP.
            - `actionId` string, uuid, required — Unique identifier for this action execution. If its processing is done asynchronously, you will receive a notification with the same `actionId`.
            - `workspaceId` string, uuid — Unique identifier of a workspace in Payrails.
            - `executedAt` string, date-time, required — Date and time when execution of the Action was started.
            - `links` object, required — Links to the next possible actions that can be taken.
              - …
          - object
            - `name` 'lookup', required — Lookup the available payment methods and instruments.
            - `actionId` string, uuid, required — Unique identifier for this action execution. If its processing is done asynchronously, you will receive a notification with the same `actionId`.
            - `workspaceId` string, uuid — Unique identifier of a workspace in Payrails.
            - `executedAt` string, date-time, required — Date and time when execution of the Action was started.
            - `links` object, required — Links to the next possible actions that can be taken.
              - …
            - `data` object, required — Lookup action results.
              - …
          - object
            - `name` 'startPaymentSession', required — Starts a payment session on a specific Provider.
            - `actionId` string, uuid, required — Unique identifier for this action execution. If its processing is done asynchronously, you will receive a notification with the same `actionId`.
            - `workspaceId` string, uuid — Unique identifier of a workspace in Payrails.
            - `executedAt` string, date-time, required — Date and time when execution of the Action was started.
            - `links` object, required — Links to the next possible actions that can be taken.
              - …
            - `data` object, required — Provider-specific data needed to continue the payment session.
          - object
            - `errors` object[], required
              - …
      - union
        - object — Execution action completed.
          - `action` 'authorize' | 'payout' | 'confirm' | 'capture' | 'cancel' | 'refund' | 'dispute', required — The type of completed action.
          - `actionId` string, uuid — The unique action execution identifier originally returned in the synchronous action response.
          - `execution` object, required — The Workflow execution for which action was completed.
            - `workflowCode` string, required — Machine-friendly code of Workflow.
            - `id` string, uuid, required — ID of Workflow execution.
            - `merchantReference` string, required — Merchant-provided reference for the Execution. Commonly, the identifier of the order on the Merchant's system.
            - `holderReference` string, required — Merchant-provided reference for the transaction counterparty, i.e. the paying consumer.
            - `holderId` string, uuid — Unique identifier of the Holder in Payrails.
            - `meta` object, required — Metadata for the context of an execution. Includes Payrails-defined structures for most common fields used in workflows, but can also be extended by merchant or provider-specific fields. For more information, visit our [Meta Fields guide](https://docs.payrails.com/docs/configure-meta-fields-for-your-providers).
              - …
          - `success` boolean, required — Action outcome. If `true`, then the action was finished successfully, and `false` otherwise.
          - `amount` object — The total amount used during execution of the action.
            - `value` string, required — Decimal amount of the major currency unit. Can be any precision.
            - `currency` string, required — ISO 3-letter currency code.
          - `reason` 'BetterPrice' | 'CustomerDontNeed' | 'DamagedProduct' | 'Duplicate' | 'FraudulentProduct' | 'LateDelivery' | 'NoReason' | 'ProductMismatchDescription' | 'WrongProduct' | 'WrongProductSpecification' — Reason for invoking the operation or action.
          - `reasonDescription` string — Reason description specified when the action was initiated.
          - `errors` object[] — The main reason why the action was not successful, set if `success = false`.
            - `id` string, uuid, required — Unique identifier of the error. Please use this value when reporting an issue to our team, so we can help you faster.
            - `code` string, required — Machine-friendly error code assigned to the error. Check the full list of possible values [here](https://docs.payrails.com/docs/error-codes#list-of-error-codes).
            - `detail` string, required — Human-readable description about the error, its cause, and resolution.
            - `docUrl` string — Link to the specific documentation about this particular `code`.
            - `reason` object — Metadata providing more details about the reason of the error. The structure of this object varies according to the `code`.
          - `paymentComposition` object[] — List of Payment Methods that were affected by the action.
            - `operationType` 'Authorize' | 'Preauthorize' | 'Capture' | 'Cancel' | 'Refund' | 'Credit' | 'SendNotification' | 'CaptureNotification' | 'RefundNotification' | 'CancelNotification' | 'AuthorizeNotification' | 'ChargebackNotification' | 'ChargebackReverseNotification' | 'Get' | 'Search' | 'GetToken' | 'Tokenize' | 'DisableToken' | 'Register' | 'Generate3DS' | 'Validate3DS' | 'PayerAuthInit' | 'PayerAuthCheckEnroll' | 'PayerAuthValidate' | 'RefundFailedNotification' | 'RefundReversedNotification' | 'CaptureFailedNotification' | 'ValidateRedirect' | 'RefundNotificationUpdated', required — Operation Type that was executed in the Provider.
            - `integrationType` 'api' | 'hpp' | 'inperson', required — Code of the integration type for using the payment method in the provider.
            - `paymentMethodCode` 'alexBankMa7fazty' | 'amazonPay' | 'applePay' | 'audi2pay' | 'alfa' | 'alipay' | 'bankTransfer' | 'card' | 'capitecPay' | 'cibSmartWallet' | 'easypaisa' | 'etisalatCash' | 'fawryMobileWallet' | 'fawryPay' | 'googlePay' | 'jazzCash' | 'mercadoPago' | 'monoDirectDebit' | 'nbePhoneCash' | 'orangeCash' | 'oPayWallet' | 'pagaWallet' | 'payflex' | 'payjustnow' | 'payPal' | 'pix' | 'konnect' | 'qnbEWallet' | 'wafaCashWallet' | 'weCash' | 'genericRedirect' | 'eftPro' | 'upi' | 'cashFreeWallet' | 'paytmMWallet' | 'netBanking' | 'meezaWallet' | 'vodafoneCash' | 'alipayQRCode' | 'sepaDirectDebit' | 'dcb' | 'bankAccount' | 'modo' | 'ach' | 'payzoneCash' | 'revolutPay' | 'lean' | 'tabby' | 'boleto' | 'oxxo' | 'spei' | 'promptPay' | 'qris' | 'momoVN' | 'vietQR' | 'konbini' | 'touchNGo' | 'gCash' | 'maya' | 'pse' | 'pagoEfectivo' | 'napas' | 'duitNowQR' | 'grabPay' | 'shopeePay' | 'nequi' | 'picPay' | 'ovo' | 'trueMoney' — Code of the payment method selected to perform the payment.
            - `paymentInstrumentId` string, uuid — Unique identifier of the Payment Instrument that the customer selected for the Payment.
            - `storeInstrument` boolean — Holder intention to store the payment instrument on payout.
            - `amount` object, required — The amount used to execute the operation.
              - …
            - `success` boolean, required — Operation outcome. If `true`, then the operation was finished successfully, and `false` otherwise.
            - `operationResult` 'Success' | 'Accepted' | 'Pending' | 'HTTPRedirectRequired' | 'FormRedirectRequired' | 'Unknown' | 'UnexpectedProviderResponse' | 'ProviderUnknownError' | 'ProviderConnectionError' | 'Timeout' | 'ProviderTimeout' | 'GenericRejection' | 'FraudRisk' | 'DuplicateOperation' | 'OperationNotAllowed' | 'InstrumentNotAllowed' | 'InvalidInstrument' | 'InsufficientBalance' | 'BlockedInstrument' | 'ExpiredInstrument' | 'ValidationError' | 'ParamsError' | 'ProviderConfigError' | 'InvalidSignature' | 'InternalServerError' | 'PayerCanceled' | 'AuthenticationError' | 'AuthenticationRequired' | 'LimitExceeded' | 'PaymentMethodNotSupported' | 'AuthorizationRevoked' — Result of the Operation according to Payrails mapping from the provider response.
            - `providerId` string, uuid — Unique identifier of the provider used to execute the operation.
            - `provider` object — Provider used to execute the operation.
              - …
            - `providerConfigId` string, uuid — Unique identifier of the provider configuration used to execute the operation.
            - `operationProviderReference` string — Reference of the operation in the provider's system.
            - `errors` object[] — The reason why the operation was not successful, set if `success = false`.
              - …
            - `accountFundingTransaction` boolean — Indicates whether the payment was an Account Funding Transaction. For example, loading a prepaid card, topping up a wallet, or funding a person-to-person (P2P) money transfer.
            - `authorizationCode` string — The acquirer authorization code if the payment was authorized.
            - `acquirerMID` string — Merchant Identifier (MID) on the acquirer that processed the payment.
            - `acquirerAccountCode` string — Account Code on the acquirer that processed the payment.
            - `acquirerCountryCode` string — Country Code on the acquirer that processed the payment.
            - `acquirerReference` string — Acquirer Reference Number (ARN) assigned to the payment by the issuer.
            - `providerReference` string — Unique identifier of the Payment in an external system, e.g. PSP.
            - `retrievalReference` string — Retrieval Reference Number (RRN) assigned to the payment by the issuer.
            - `paymentInstrument` object — Payment Instrument and tokens used to execute the authorize operation.
              - …
            - `providerResponseAdditionalFields` object — Any provider-specific response data requested by merchant on authorize.
            - `providerConfig` object — Provider configuration details associated with this operation.
              - …
            - `dispute` object — Dispute related to the Workflow execution.
              - …
            - `retries` object — Information about an action retry. Present if the action failed, and a retry is scheduled.
              - …
            - `captureMode` 'Instant' | 'Manual' | 'Delayed' — Capture mode used for the payment operation.
            - `paymentId` string, uuid — Unique identifier of the Payment affected during execution of the operation.
        - object — Execution action completed.
          - `action` 'authorize' | 'payout' | 'confirm' | 'capture' | 'cancel' | 'refund' | 'dispute', required — The type of completed action.
          - `actionId` string, uuid — The unique action execution identifier originally returned in the synchronous action response.
          - `execution` object, required — The Workflow execution for which action was completed.
            - `workflowCode` string, required — Machine-friendly code of Workflow.
            - `id` string, uuid, required — ID of Workflow execution.
            - `merchantReference` string, required — Merchant-provided reference for the Execution. Commonly, the identifier of the order on the Merchant's system.
            - `holderReference` string, required — Merchant-provided reference for the transaction counterparty, i.e. the paying consumer.
            - `holderId` string, uuid — Unique identifier of the Holder in Payrails.
            - `meta` object, required — Metadata for the context of an execution. Includes Payrails-defined structures for most common fields used in workflows, but can also be extended by merchant or provider-specific fields. For more information, visit our [Meta Fields guide](https://docs.payrails.com/docs/configure-meta-fields-for-your-providers).
              - …
          - `success` boolean, required — Action outcome. If `true`, then the action was finished successfully, and `false` otherwise.
          - `amount` object — The total amount used during execution of the action.
            - `value` string, required — Decimal amount of the major currency unit. Can be any precision.
            - `currency` string, required — ISO 3-letter currency code.
          - `reason` 'BetterPrice' | 'CustomerDontNeed' | 'DamagedProduct' | 'Duplicate' | 'FraudulentProduct' | 'LateDelivery' | 'NoReason' | 'ProductMismatchDescription' | 'WrongProduct' | 'WrongProductSpecification' — Reason for invoking the operation or action.
          - `reasonDescription` string — Reason description specified when the action was initiated.
          - `errors` object[] — The main reason why the action was not successful, set if `success = false`.
            - `id` string, uuid, required — Unique identifier of the error. Please use this value when reporting an issue to our team, so we can help you faster.
            - `code` string, required — Machine-friendly error code assigned to the error. Check the full list of possible values [here](https://docs.payrails.com/docs/error-codes#list-of-error-codes).
            - `detail` string, required — Human-readable description about the error, its cause, and resolution.
            - `docUrl` string — Link to the specific documentation about this particular `code`.
            - `reason` object — Metadata providing more details about the reason of the error. The structure of this object varies according to the `code`.
          - `payoutComposition` object[] — List of Payout Methods that were affected by the action.
            - `operationType` 'Authorize' | 'Preauthorize' | 'Capture' | 'Cancel' | 'Refund' | 'Credit' | 'SendNotification' | 'CaptureNotification' | 'RefundNotification' | 'CancelNotification' | 'AuthorizeNotification' | 'ChargebackNotification' | 'ChargebackReverseNotification' | 'Get' | 'Search' | 'GetToken' | 'Tokenize' | 'DisableToken' | 'Register' | 'Generate3DS' | 'Validate3DS' | 'PayerAuthInit' | 'PayerAuthCheckEnroll' | 'PayerAuthValidate' | 'RefundFailedNotification' | 'RefundReversedNotification' | 'CaptureFailedNotification' | 'ValidateRedirect' | 'RefundNotificationUpdated', required — Operation Type that was executed in the Provider.
            - `integrationType` 'api' | 'hpp' | 'inperson', required — Code of the integration type for using the payment method in the provider.
            - `paymentMethodCode` 'alexBankMa7fazty' | 'amazonPay' | 'applePay' | 'audi2pay' | 'alfa' | 'alipay' | 'bankTransfer' | 'card' | 'capitecPay' | 'cibSmartWallet' | 'easypaisa' | 'etisalatCash' | 'fawryMobileWallet' | 'fawryPay' | 'googlePay' | 'jazzCash' | 'mercadoPago' | 'monoDirectDebit' | 'nbePhoneCash' | 'orangeCash' | 'oPayWallet' | 'pagaWallet' | 'payflex' | 'payjustnow' | 'payPal' | 'pix' | 'konnect' | 'qnbEWallet' | 'wafaCashWallet' | 'weCash' | 'genericRedirect' | 'eftPro' | 'upi' | 'cashFreeWallet' | 'paytmMWallet' | 'netBanking' | 'meezaWallet' | 'vodafoneCash' | 'alipayQRCode' | 'sepaDirectDebit' | 'dcb' | 'bankAccount' | 'modo' | 'ach' | 'payzoneCash' | 'revolutPay' | 'lean' | 'tabby' | 'boleto' | 'oxxo' | 'spei' | 'promptPay' | 'qris' | 'momoVN' | 'vietQR' | 'konbini' | 'touchNGo' | 'gCash' | 'maya' | 'pse' | 'pagoEfectivo' | 'napas' | 'duitNowQR' | 'grabPay' | 'shopeePay' | 'nequi' | 'picPay' | 'ovo' | 'trueMoney' — Code of the payment method selected to perform the payment.
            - `paymentInstrumentId` string, uuid — Unique identifier of the Payment Instrument that the customer selected for the Payment.
            - `storeInstrument` boolean — Holder intention to store the payment instrument on payout.
            - `amount` object, required — The amount used to execute the operation.
              - …
            - `success` boolean, required — Operation outcome. If `true`, then the operation was finished successfully, and `false` otherwise.
            - `operationResult` 'Success' | 'Accepted' | 'Pending' | 'HTTPRedirectRequired' | 'FormRedirectRequired' | 'Unknown' | 'UnexpectedProviderResponse' | 'ProviderUnknownError' | 'ProviderConnectionError' | 'Timeout' | 'ProviderTimeout' | 'GenericRejection' | 'FraudRisk' | 'DuplicateOperation' | 'OperationNotAllowed' | 'InstrumentNotAllowed' | 'InvalidInstrument' | 'InsufficientBalance' | 'BlockedInstrument' | 'ExpiredInstrument' | 'ValidationError' | 'ParamsError' | 'ProviderConfigError' | 'InvalidSignature' | 'InternalServerError' | 'PayerCanceled' | 'AuthenticationError' | 'AuthenticationRequired' | 'LimitExceeded' | 'PaymentMethodNotSupported' | 'AuthorizationRevoked' — Result of the Operation according to Payrails mapping from the provider response.
            - `providerId` string, uuid — Unique identifier of the provider used to execute the operation.
            - `provider` object — Provider used to execute the operation.
              - …
            - `providerConfigId` string, uuid — Unique identifier of the provider configuration used to execute the operation.
            - `operationProviderReference` string — Reference of the operation in the provider's system.
            - `errors` object[] — The reason why the operation was not successful, set if `success = false`.
              - …
            - `accountFundingTransaction` boolean — Indicates whether the payment was an Account Funding Transaction. For example, loading a prepaid card, topping up a wallet, or funding a person-to-person (P2P) money transfer.
            - `authorizationCode` string — The acquirer authorization code if the payment was authorized.
            - `acquirerMID` string — Merchant Identifier (MID) on the acquirer that processed the payment.
            - `acquirerAccountCode` string — Account Code on the acquirer that processed the payment.
            - `acquirerCountryCode` string — Country Code on the acquirer that processed the payment.
            - `acquirerReference` string — Acquirer Reference Number (ARN) assigned to the payment by the issuer.
            - `providerReference` string — Unique identifier of the Payment in an external system, e.g. PSP.
            - `retrievalReference` string — Retrieval Reference Number (RRN) assigned to the payment by the issuer.
            - `paymentInstrument` object — Payment Instrument and tokens used to execute the authorize operation.
              - …
            - `providerResponseAdditionalFields` object — Any provider-specific response data requested by merchant on authorize.
            - `providerConfig` object — Provider configuration details associated with this operation.
              - …
            - `dispute` object — Dispute related to the Workflow execution.
              - …
            - `retries` object — Information about an action retry. Present if the action failed, and a retry is scheduled.
              - …
            - `captureMode` 'Instant' | 'Manual' | 'Delayed' — Capture mode used for the payment operation.
            - `payoutId` string, uuid — Unique identifier of the Payout affected during execution of the operation.
      - object — Details for a ruleEngineExecuted event.
        - `action` 'determinePaymentOptions' | 'determineProviderOptions' | 'repeat', required — Action name.
        - `rulesets` object[] — The rulesets that were executed.
          - `createdAt` string, date-time — Creation date of the ruleset.
          - `id` string, uuid, required — ID of Ruleset.
          - `version` number, required — Ruleset version.
          - `trigger` object, required — An action that determines when the rules should be evaluated.
            - `on` 'determinePaymentOptions' | 'determineProviderOptions' | 'repeat', required — Action name.
            - `filter` union — A map of fields from the execution context and their expected values, which allows to trigger rules evaluation when all context field values match the expected ones.
              - …
          - `rules` object[] — Rules what need to be evaluated to execute or an action defined by a rule, which condition is fulfilled, or default action if none of conditions are fulfilled.
            - `condition` union, required — Condition to be fulfilled to execute the action.
              - …
            - `action` union, required — Action to execute if the rule condition is fulfilled.
              - …
          - `defaultAction` union, required — Default action to execute if none of rule conditions are fulfilled.
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
        - `evaluations` object[] — The evaluations of the rule engine.
          - `chosenRule` object
            - `condition` union, required — Condition to be fulfilled to execute the action.
              - …
            - `action` union, required — Action to execute if the rule condition is fulfilled.
              - …
          - `action` union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
          - `entity` union, required
            - object
              - …
            - object
              - …
            - number
          - `ruleEvaluationResults` object[]
            - `rule` object
              - …
            - `result` boolean — Whether or not the rule was successfully executed.
            - `error` object — Error struct that includes the error, cause, reason, and possible resolutions. Check the full documentation [here](https://docs.payrails.com/docs/error-codes#error-structure).
              - …
        - `context` object, required
          - `meta` object — Metadata for the context of an execution. Includes Payrails-defined structures for most common fields used in workflows, but can also be extended by merchant or provider-specific fields. For more information, visit our [Meta Fields guide](https://docs.payrails.com/docs/configure-meta-fields-for-your-providers).
            - `order` object — The order being placed on your system.
              - …
            - `customer` object — The customer placing the order.
              - …
            - `clientContext` object — Data describing the customer's device or browser.
              - …
            - `vendor` object — Description of a vendor that provides the order.
              - …
            - `risk` object — Configuration values for the risk prevention check.
              - …
            - `subscription` object — Configuration of a subscription process.
              - …
            - `tags` object — Additional meta fields to be sent to the payment providers which support metadata / tags. For example, sent to [Stripe as metadata](https://stripe.com/docs/api/metadata). Because these will always be PSP-specific, we do NOT recommend using these fields if they can actually be mapped to a generic field above.
          - `dynamic` object — Additional computed metadata.
        - `errors` object[]
          - `id` string, uuid, required — Unique identifier of the error. Please use this value when reporting an issue to our team, so we can help you faster.
          - `code` string, required — Machine-friendly error code assigned to the error. Check the full list of possible values [here](https://docs.payrails.com/docs/error-codes#list-of-error-codes).
          - `detail` string, required — Human-readable description about the error, its cause, and resolution.
          - `docUrl` string — Link to the specific documentation about this particular `code`.
          - `reason` object — Metadata providing more details about the reason of the error. The structure of this object varies according to the `code`.
      - object — Network offers enrollment completed.
        - `actionId` string, uuid — The unique action execution identifier originally returned in the synchronous action response.
        - `execution` object, required — The Workflow execution for which action was completed.
          - `workflowCode` string, required — Machine-friendly code of Workflow.
          - `id` string, uuid, required — ID of Workflow execution.
          - `merchantReference` string, required — Merchant-provided reference for the Execution. Commonly, the identifier of the order on the Merchant's system.
          - `holderReference` string, required — Merchant-provided reference for the transaction counterparty, i.e. the paying consumer.
          - `holderId` string, uuid — Unique identifier of the Holder in Payrails.
          - `meta` object, required — Metadata for the context of an execution. Includes Payrails-defined structures for most common fields used in workflows, but can also be extended by merchant or provider-specific fields. For more information, visit our [Meta Fields guide](https://docs.payrails.com/docs/configure-meta-fields-for-your-providers).
            - `order` object — The order being placed on your system.
              - …
            - `customer` object — The customer placing the order.
              - …
            - `clientContext` object — Data describing the customer's device or browser.
              - …
            - `vendor` object — Description of a vendor that provides the order.
              - …
            - `risk` object — Configuration values for the risk prevention check.
              - …
            - `subscription` object — Configuration of a subscription process.
              - …
            - `tags` object — Additional meta fields to be sent to the payment providers which support metadata / tags. For example, sent to [Stripe as metadata](https://stripe.com/docs/api/metadata). Because these will always be PSP-specific, we do NOT recommend using these fields if they can actually be mapped to a generic field above.
        - `success` boolean, required — Outcome. If `true`, then the action was finished successfully, and `false` otherwise.
        - `paymentComposition` object[] — List of Payment Methods that were affected by the action.
          - `integrationType` 'api', required — Integration type used to execute the enrollment.
          - `paymentMethodCode` 'card', required — Code of the payment method used to execute the enrollment in the provider.
          - `paymentInstrumentId` string, uuid — Unique identifier of the Payment Instrument that the customer selected for the Payment.
          - `storeInstrument` boolean — Holder intention to store the payment instrument on authorize.
          - `success` boolean, required — Operation outcome. If `true`, then the enrollment was finished successfully, and `false` otherwise.
          - `operationResult` 'Success' | 'Accepted' | 'Pending' | 'HTTPRedirectRequired' | 'FormRedirectRequired' | 'Unknown' | 'UnexpectedProviderResponse' | 'ProviderUnknownError' | 'ProviderConnectionError' | 'Timeout' | 'ProviderTimeout' | 'GenericRejection' | 'FraudRisk' | 'DuplicateOperation' | 'OperationNotAllowed' | 'InstrumentNotAllowed' | 'InvalidInstrument' | 'InsufficientBalance' | 'BlockedInstrument' | 'ExpiredInstrument' | 'ValidationError' | 'ParamsError' | 'ProviderConfigError' | 'InvalidSignature' | 'InternalServerError' | 'PayerCanceled' | 'AuthenticationError' | 'AuthenticationRequired' | 'LimitExceeded' | 'PaymentMethodNotSupported' | 'AuthorizationRevoked' — Result of the Operation according to Payrails mapping from the provider response.
          - `providerId` string, uuid — Unique identifier of the provider used to execute the enrollment.
          - `providerConfigId` string, uuid — Unique identifier of the provider configuration used to execute the enrollment.
          - `operationProviderReference` string — Reference of the operation in the provider's system.
          - `errors` object[] — The reason why the operation was not successful, set if `success = false`.
            - `id` string, uuid, required — Unique identifier of the error. Please use this value when reporting an issue to our team, so we can help you faster.
            - `code` string, required — Machine-friendly error code assigned to the error. Check the full list of possible values [here](https://docs.payrails.com/docs/error-codes#list-of-error-codes).
            - `detail` string, required — Human-readable description about the error, its cause, and resolution.
            - `docUrl` string — Link to the specific documentation about this particular `code`.
            - `reason` object — Metadata providing more details about the reason of the error. The structure of this object varies according to the `code`.
          - `paymentInstrument` object — Payment Instrument and tokens what was enrolled to network offers.
            - `id` string, uuid, required — Id of the instrument.
            - `createdAt` string, date-time, required — Date and time when the Instrument was created in Payrails.
            - `updatedAt` string, date-time, required — When the Instrument was last updated.
            - `holderId` string, uuid, required — Unique identifier of the Holder in Payrails.
            - `paymentMethod` 'alexBankMa7fazty' | 'applePay' | 'audi2pay' | 'bankAccount' | 'card' | 'cibSmartWallet' | 'easypaisa' | 'etisalatCash' | 'fawryMobileWallet' | 'fawryPay' | 'googlePay' | 'jazzCash' | 'nbePhoneCash' | 'orangeCash' | 'payPal' | 'qnbEWallet' | 'weCash' | 'genericRedirect' | 'alfa' | 'konnect' | 'eftPro' | 'netBanking' | 'upi' | 'cashFreeWallet' | 'paytmWallet' | 'phonePe', required — Represents the payment method type.
            - `status` 'created' | 'deleted' | 'enabled' | 'disabled' | 'transient', required — Status of the instrument.
            - `displayName` string — Instrument name suitable for display.
            - `description` string — Description of the instrument.
            - `default` boolean, nullable — True if this instrument is set as default for the holder.
            - `merchantReference` string — Merchant-provided reference for the instrument.
            - `fingerprint` string — System-wide unique identifier of the Instrument. If two Holders have the same instrument stored, this value will be the same for both, but the instrument and token IDs will be different. Cannot be used for payments, should only be used for analytics and fraud prevention.
            - `futureUsage` 'Subscription' | 'CardOnFile' | 'UnscheduledCardOnFile' — Represents the future usage to define the payment flows that the stored instrument will be used for.
            - `networkTransactionReference` string — Identifier of the initial payment made with this instrument on the Networks, e.g. Mastercard Trace ID or Visa Transaction ID.
            - `data` union — Type-specific information about the instrument.
              - …
            - `tokens` object[] — Payment Instrument tokens created as a result of the enrollment.
              - …
        - `errors` object[] — The main reason why the action was not successful, set if `success = false`.
          - `id` string, uuid, required — Unique identifier of the error. Please use this value when reporting an issue to our team, so we can help you faster.
          - `code` string, required — Machine-friendly error code assigned to the error. Check the full list of possible values [here](https://docs.payrails.com/docs/error-codes#list-of-error-codes).
          - `detail` string, required — Human-readable description about the error, its cause, and resolution.
          - `docUrl` string — Link to the specific documentation about this particular `code`.
          - `reason` object — Metadata providing more details about the reason of the error. The structure of this object varies according to the `code`.
      - object — Details for an executionActionScheduled event.
        - `action` 'authorizeRetry', required — Type of action.
        - `actionId` string, uuid — Unique identifier for this action execution. If its processing is done asynchronously, you will receive a notification with the same `actionId`.
        - `reason` string, required — Reason for scheduling of the action.
        - `scheduledAt` string, date-time, required — Time for the execution of the action.
      - object — Details for an executionActionUnscheduled event.
        - `action` 'authorizeRetry', required — Type of action.
        - `actionId` string, uuid — Unique identifier for this action execution. If its processing is done asynchronously, you will receive a notification with the same `actionId`.
        - `reason` string, required — Reason for unscheduling of the action.
      - union
        - object — Execution action updated.
          - `action` 'authorize' | 'capture' | 'cancel' | 'refund' | 'dispute', required — The type of updated action.
          - `actionId` string, uuid — The unique action execution identifier originally returned in the synchronous action response.
          - `execution` object, required — The Workflow execution for which action was updated.
            - `workflowCode` string, required — Machine-friendly code of Workflow.
            - `id` string, uuid, required — ID of Workflow execution.
            - `merchantReference` string, required — Merchant-provided reference for the Execution. Commonly, the identifier of the order on the Merchant's system.
            - `holderReference` string, required — Merchant-provided reference for the transaction counterparty, i.e. the paying consumer.
            - `holderId` string, uuid — Unique identifier of the Holder in Payrails.
            - `meta` object, required — Metadata for the context of an execution. Includes Payrails-defined structures for most common fields used in workflows, but can also be extended by merchant or provider-specific fields. For more information, visit our [Meta Fields guide](https://docs.payrails.com/docs/configure-meta-fields-for-your-providers).
              - …
          - `success` boolean, required — Action outcome. If `true`, then the action was finished successfully, and `false` otherwise.
          - `amount` object — The total amount used during execution of the action.
            - `value` string, required — Decimal amount of the major currency unit. Can be any precision.
            - `currency` string, required — ISO 3-letter currency code.
          - `errors` object[] — The main reason why the action was not successful, set if `success = false`.
            - `id` string, uuid, required — Unique identifier of the error. Please use this value when reporting an issue to our team, so we can help you faster.
            - `code` string, required — Machine-friendly error code assigned to the error. Check the full list of possible values [here](https://docs.payrails.com/docs/error-codes#list-of-error-codes).
            - `detail` string, required — Human-readable description about the error, its cause, and resolution.
            - `docUrl` string — Link to the specific documentation about this particular `code`.
            - `reason` object — Metadata providing more details about the reason of the error. The structure of this object varies according to the `code`.
          - `paymentComposition` object[] — List of Payment Methods that were affected by the action.
            - `operationType` 'Authorize' | 'Preauthorize' | 'Capture' | 'Cancel' | 'Refund' | 'Credit' | 'SendNotification' | 'CaptureNotification' | 'RefundNotification' | 'CancelNotification' | 'AuthorizeNotification' | 'ChargebackNotification' | 'ChargebackReverseNotification' | 'Get' | 'Search' | 'GetToken' | 'Tokenize' | 'DisableToken' | 'Register' | 'Generate3DS' | 'Validate3DS' | 'PayerAuthInit' | 'PayerAuthCheckEnroll' | 'PayerAuthValidate' | 'RefundFailedNotification' | 'RefundReversedNotification' | 'CaptureFailedNotification' | 'ValidateRedirect' | 'RefundNotificationUpdated', required — Operation Type that was executed in the Provider.
            - `integrationType` 'api' | 'hpp' | 'inperson', required — Code of the integration type for using the payment method in the provider.
            - `paymentMethodCode` 'alexBankMa7fazty' | 'amazonPay' | 'applePay' | 'audi2pay' | 'alfa' | 'alipay' | 'bankTransfer' | 'card' | 'capitecPay' | 'cibSmartWallet' | 'easypaisa' | 'etisalatCash' | 'fawryMobileWallet' | 'fawryPay' | 'googlePay' | 'jazzCash' | 'mercadoPago' | 'monoDirectDebit' | 'nbePhoneCash' | 'orangeCash' | 'oPayWallet' | 'pagaWallet' | 'payflex' | 'payjustnow' | 'payPal' | 'pix' | 'konnect' | 'qnbEWallet' | 'wafaCashWallet' | 'weCash' | 'genericRedirect' | 'eftPro' | 'upi' | 'cashFreeWallet' | 'paytmMWallet' | 'netBanking' | 'meezaWallet' | 'vodafoneCash' | 'alipayQRCode' | 'sepaDirectDebit' | 'dcb' | 'bankAccount' | 'modo' | 'ach' | 'payzoneCash' | 'revolutPay' | 'lean' | 'tabby' | 'boleto' | 'oxxo' | 'spei' | 'promptPay' | 'qris' | 'momoVN' | 'vietQR' | 'konbini' | 'touchNGo' | 'gCash' | 'maya' | 'pse' | 'pagoEfectivo' | 'napas' | 'duitNowQR' | 'grabPay' | 'shopeePay' | 'nequi' | 'picPay' | 'ovo' | 'trueMoney' — Code of the payment method selected to perform the payment.
            - `paymentInstrumentId` string, uuid — Unique identifier of the Payment Instrument that the customer selected for the Payment.
            - `storeInstrument` boolean — Holder intention to store the payment instrument on payout.
            - `amount` object, required — The amount used to execute the operation.
              - …
            - `success` boolean, required — Operation outcome. If `true`, then the operation was finished successfully, and `false` otherwise.
            - `operationResult` 'Success' | 'Accepted' | 'Pending' | 'HTTPRedirectRequired' | 'FormRedirectRequired' | 'Unknown' | 'UnexpectedProviderResponse' | 'ProviderUnknownError' | 'ProviderConnectionError' | 'Timeout' | 'ProviderTimeout' | 'GenericRejection' | 'FraudRisk' | 'DuplicateOperation' | 'OperationNotAllowed' | 'InstrumentNotAllowed' | 'InvalidInstrument' | 'InsufficientBalance' | 'BlockedInstrument' | 'ExpiredInstrument' | 'ValidationError' | 'ParamsError' | 'ProviderConfigError' | 'InvalidSignature' | 'InternalServerError' | 'PayerCanceled' | 'AuthenticationError' | 'AuthenticationRequired' | 'LimitExceeded' | 'PaymentMethodNotSupported' | 'AuthorizationRevoked' — Result of the Operation according to Payrails mapping from the provider response.
            - `providerId` string, uuid — Unique identifier of the provider used to execute the operation.
            - `provider` object — Provider used to execute the operation.
              - …
            - `providerConfigId` string, uuid — Unique identifier of the provider configuration used to execute the operation.
            - `operationProviderReference` string — Reference of the operation in the provider's system.
            - `errors` object[] — The reason why the operation was not successful, set if `success = false`.
              - …
            - `accountFundingTransaction` boolean — Indicates whether the payment was an Account Funding Transaction. For example, loading a prepaid card, topping up a wallet, or funding a person-to-person (P2P) money transfer.
            - `authorizationCode` string — The acquirer authorization code if the payment was authorized.
            - `acquirerMID` string — Merchant Identifier (MID) on the acquirer that processed the payment.
            - `acquirerAccountCode` string — Account Code on the acquirer that processed the payment.
            - `acquirerCountryCode` string — Country Code on the acquirer that processed the payment.
            - `acquirerReference` string — Acquirer Reference Number (ARN) assigned to the payment by the issuer.
            - `providerReference` string — Unique identifier of the Payment in an external system, e.g. PSP.
            - `retrievalReference` string — Retrieval Reference Number (RRN) assigned to the payment by the issuer.
            - `paymentInstrument` object — Payment Instrument and tokens used to execute the authorize operation.
              - …
            - `providerResponseAdditionalFields` object — Any provider-specific response data requested by merchant on authorize.
            - `providerConfig` object — Provider configuration details associated with this operation.
              - …
            - `dispute` object — Dispute related to the Workflow execution.
              - …
            - `retries` object — Information about an action retry. Present if the action failed, and a retry is scheduled.
              - …
            - `captureMode` 'Instant' | 'Manual' | 'Delayed' — Capture mode used for the payment operation.
            - `paymentId` string, uuid — Unique identifier of the Payment affected during execution of the operation.
        - object — Execution action updated.
          - `action` 'authorize' | 'capture' | 'cancel' | 'refund' | 'dispute', required — The type of updated action.
          - `actionId` string, uuid — The unique action execution identifier originally returned in the synchronous action response.
          - `execution` object, required — The Workflow execution for which action was updated.
            - `workflowCode` string, required — Machine-friendly code of Workflow.
            - `id` string, uuid, required — ID of Workflow execution.
            - `merchantReference` string, required — Merchant-provided reference for the Execution. Commonly, the identifier of the order on the Merchant's system.
            - `holderReference` string, required — Merchant-provided reference for the transaction counterparty, i.e. the paying consumer.
            - `holderId` string, uuid — Unique identifier of the Holder in Payrails.
            - `meta` object, required — Metadata for the context of an execution. Includes Payrails-defined structures for most common fields used in workflows, but can also be extended by merchant or provider-specific fields. For more information, visit our [Meta Fields guide](https://docs.payrails.com/docs/configure-meta-fields-for-your-providers).
              - …
          - `success` boolean, required — Action outcome. If `true`, then the action was finished successfully, and `false` otherwise.
          - `amount` object — The total amount used during execution of the action.
            - `value` string, required — Decimal amount of the major currency unit. Can be any precision.
            - `currency` string, required — ISO 3-letter currency code.
          - `errors` object[] — The main reason why the action was not successful, set if `success = false`.
            - `id` string, uuid, required — Unique identifier of the error. Please use this value when reporting an issue to our team, so we can help you faster.
            - `code` string, required — Machine-friendly error code assigned to the error. Check the full list of possible values [here](https://docs.payrails.com/docs/error-codes#list-of-error-codes).
            - `detail` string, required — Human-readable description about the error, its cause, and resolution.
            - `docUrl` string — Link to the specific documentation about this particular `code`.
            - `reason` object — Metadata providing more details about the reason of the error. The structure of this object varies according to the `code`.
          - `payoutComposition` object[] — List of Payout Methods that were affected by the action.
            - `operationType` 'Authorize' | 'Preauthorize' | 'Capture' | 'Cancel' | 'Refund' | 'Credit' | 'SendNotification' | 'CaptureNotification' | 'RefundNotification' | 'CancelNotification' | 'AuthorizeNotification' | 'ChargebackNotification' | 'ChargebackReverseNotification' | 'Get' | 'Search' | 'GetToken' | 'Tokenize' | 'DisableToken' | 'Register' | 'Generate3DS' | 'Validate3DS' | 'PayerAuthInit' | 'PayerAuthCheckEnroll' | 'PayerAuthValidate' | 'RefundFailedNotification' | 'RefundReversedNotification' | 'CaptureFailedNotification' | 'ValidateRedirect' | 'RefundNotificationUpdated', required — Operation Type that was executed in the Provider.
            - `integrationType` 'api' | 'hpp' | 'inperson', required — Code of the integration type for using the payment method in the provider.
            - `paymentMethodCode` 'alexBankMa7fazty' | 'amazonPay' | 'applePay' | 'audi2pay' | 'alfa' | 'alipay' | 'bankTransfer' | 'card' | 'capitecPay' | 'cibSmartWallet' | 'easypaisa' | 'etisalatCash' | 'fawryMobileWallet' | 'fawryPay' | 'googlePay' | 'jazzCash' | 'mercadoPago' | 'monoDirectDebit' | 'nbePhoneCash' | 'orangeCash' | 'oPayWallet' | 'pagaWallet' | 'payflex' | 'payjustnow' | 'payPal' | 'pix' | 'konnect' | 'qnbEWallet' | 'wafaCashWallet' | 'weCash' | 'genericRedirect' | 'eftPro' | 'upi' | 'cashFreeWallet' | 'paytmMWallet' | 'netBanking' | 'meezaWallet' | 'vodafoneCash' | 'alipayQRCode' | 'sepaDirectDebit' | 'dcb' | 'bankAccount' | 'modo' | 'ach' | 'payzoneCash' | 'revolutPay' | 'lean' | 'tabby' | 'boleto' | 'oxxo' | 'spei' | 'promptPay' | 'qris' | 'momoVN' | 'vietQR' | 'konbini' | 'touchNGo' | 'gCash' | 'maya' | 'pse' | 'pagoEfectivo' | 'napas' | 'duitNowQR' | 'grabPay' | 'shopeePay' | 'nequi' | 'picPay' | 'ovo' | 'trueMoney' — Code of the payment method selected to perform the payment.
            - `paymentInstrumentId` string, uuid — Unique identifier of the Payment Instrument that the customer selected for the Payment.
            - `storeInstrument` boolean — Holder intention to store the payment instrument on payout.
            - `amount` object, required — The amount used to execute the operation.
              - …
            - `success` boolean, required — Operation outcome. If `true`, then the operation was finished successfully, and `false` otherwise.
            - `operationResult` 'Success' | 'Accepted' | 'Pending' | 'HTTPRedirectRequired' | 'FormRedirectRequired' | 'Unknown' | 'UnexpectedProviderResponse' | 'ProviderUnknownError' | 'ProviderConnectionError' | 'Timeout' | 'ProviderTimeout' | 'GenericRejection' | 'FraudRisk' | 'DuplicateOperation' | 'OperationNotAllowed' | 'InstrumentNotAllowed' | 'InvalidInstrument' | 'InsufficientBalance' | 'BlockedInstrument' | 'ExpiredInstrument' | 'ValidationError' | 'ParamsError' | 'ProviderConfigError' | 'InvalidSignature' | 'InternalServerError' | 'PayerCanceled' | 'AuthenticationError' | 'AuthenticationRequired' | 'LimitExceeded' | 'PaymentMethodNotSupported' | 'AuthorizationRevoked' — Result of the Operation according to Payrails mapping from the provider response.
            - `providerId` string, uuid — Unique identifier of the provider used to execute the operation.
            - `provider` object — Provider used to execute the operation.
              - …
            - `providerConfigId` string, uuid — Unique identifier of the provider configuration used to execute the operation.
            - `operationProviderReference` string — Reference of the operation in the provider's system.
            - `errors` object[] — The reason why the operation was not successful, set if `success = false`.
              - …
            - `accountFundingTransaction` boolean — Indicates whether the payment was an Account Funding Transaction. For example, loading a prepaid card, topping up a wallet, or funding a person-to-person (P2P) money transfer.
            - `authorizationCode` string — The acquirer authorization code if the payment was authorized.
            - `acquirerMID` string — Merchant Identifier (MID) on the acquirer that processed the payment.
            - `acquirerAccountCode` string — Account Code on the acquirer that processed the payment.
            - `acquirerCountryCode` string — Country Code on the acquirer that processed the payment.
            - `acquirerReference` string — Acquirer Reference Number (ARN) assigned to the payment by the issuer.
            - `providerReference` string — Unique identifier of the Payment in an external system, e.g. PSP.
            - `retrievalReference` string — Retrieval Reference Number (RRN) assigned to the payment by the issuer.
            - `paymentInstrument` object — Payment Instrument and tokens used to execute the authorize operation.
              - …
            - `providerResponseAdditionalFields` object — Any provider-specific response data requested by merchant on authorize.
            - `providerConfig` object — Provider configuration details associated with this operation.
              - …
            - `dispute` object — Dispute related to the Workflow execution.
              - …
            - `retries` object — Information about an action retry. Present if the action failed, and a retry is scheduled.
              - …
            - `captureMode` 'Instant' | 'Manual' | 'Delayed' — Capture mode used for the payment operation.
            - `payoutId` string, uuid — Unique identifier of the Payout affected during execution of the operation.
      - object — Execution action pending.
        - `action` 'authorize' | 'confirm' | 'capture' | 'cancel' | 'refund', required — The type of pending action.
        - `actionId` string, uuid — The unique action execution identifier originally returned in the synchronous action response.
        - `execution` object, required — The Workflow execution for which action is pending.
          - `workflowCode` string, required — Machine-friendly code of Workflow.
          - `id` string, uuid, required — ID of Workflow execution.
          - `merchantReference` string, required — Merchant-provided reference for the Execution. Commonly, the identifier of the order on the Merchant's system.
          - `holderReference` string, required — Merchant-provided reference for the transaction counterparty, i.e. the paying consumer.
          - `holderId` string, uuid — Unique identifier of the Holder in Payrails.
          - `meta` object, required — Metadata for the context of an execution. Includes Payrails-defined structures for most common fields used in workflows, but can also be extended by merchant or provider-specific fields. For more information, visit our [Meta Fields guide](https://docs.payrails.com/docs/configure-meta-fields-for-your-providers).
            - `order` object — The order being placed on your system.
              - …
            - `customer` object — The customer placing the order.
              - …
            - `clientContext` object — Data describing the customer's device or browser.
              - …
            - `vendor` object — Description of a vendor that provides the order.
              - …
            - `risk` object — Configuration values for the risk prevention check.
              - …
            - `subscription` object — Configuration of a subscription process.
              - …
            - `tags` object — Additional meta fields to be sent to the payment providers which support metadata / tags. For example, sent to [Stripe as metadata](https://stripe.com/docs/api/metadata). Because these will always be PSP-specific, we do NOT recommend using these fields if they can actually be mapped to a generic field above.
          - `requiredAction` object — Details of the next possible actions that can be taken.
            - `type` 'redirect' | 'confirm' | 'review', required — Type of the required action.
            - `subType` 'merchant' | 'client' | 'internal' — Sub type of the required action.
            - `description` string — Details of the required action.
            - `href` string — URL to complete the required action.
            - `method` 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' — HTTP method that should be used to call the `href`.
            - `clientConfig` object — Details for the client to indicate how an action needs to be performed.
              - …
            - `action` object — Details of a prerequisite action, which needs to be executed prior calling the provided link.
        - `amount` object — The total amount used during execution of the action.
          - `value` string, required — Decimal amount of the major currency unit. Can be any precision.
          - `currency` string, required — ISO 3-letter currency code.
        - `paymentComposition` object[] — List of Payment Methods that were affected by the action.
          - `operationType` 'Authorize' | 'Preauthorize' | 'Capture' | 'Cancel' | 'Refund' | 'Credit' | 'SendNotification' | 'CaptureNotification' | 'RefundNotification' | 'CancelNotification' | 'AuthorizeNotification' | 'ChargebackNotification' | 'ChargebackReverseNotification' | 'Get' | 'Search' | 'GetToken' | 'Tokenize' | 'DisableToken' | 'Register' | 'Generate3DS' | 'Validate3DS' | 'PayerAuthInit' | 'PayerAuthCheckEnroll' | 'PayerAuthValidate' | 'RefundFailedNotification' | 'RefundReversedNotification' | 'CaptureFailedNotification' | 'ValidateRedirect' | 'RefundNotificationUpdated', required — Operation Type that was executed in the Provider.
          - `integrationType` 'api' | 'hpp' | 'inperson', required — Code of the integration type for using the payment method in the provider.
          - `paymentMethodCode` 'alexBankMa7fazty' | 'amazonPay' | 'applePay' | 'audi2pay' | 'alfa' | 'alipay' | 'bankTransfer' | 'card' | 'capitecPay' | 'cibSmartWallet' | 'easypaisa' | 'etisalatCash' | 'fawryMobileWallet' | 'fawryPay' | 'googlePay' | 'jazzCash' | 'mercadoPago' | 'monoDirectDebit' | 'nbePhoneCash' | 'orangeCash' | 'oPayWallet' | 'pagaWallet' | 'payflex' | 'payjustnow' | 'payPal' | 'pix' | 'konnect' | 'qnbEWallet' | 'wafaCashWallet' | 'weCash' | 'genericRedirect' | 'eftPro' | 'upi' | 'cashFreeWallet' | 'paytmMWallet' | 'netBanking' | 'meezaWallet' | 'vodafoneCash' | 'alipayQRCode' | 'sepaDirectDebit' | 'dcb' | 'bankAccount' | 'modo' | 'ach' | 'payzoneCash' | 'revolutPay' | 'lean' | 'tabby' | 'boleto' | 'oxxo' | 'spei' | 'promptPay' | 'qris' | 'momoVN' | 'vietQR' | 'konbini' | 'touchNGo' | 'gCash' | 'maya' | 'pse' | 'pagoEfectivo' | 'napas' | 'duitNowQR' | 'grabPay' | 'shopeePay' | 'nequi' | 'picPay' | 'ovo' | 'trueMoney' — Code of the payment method selected to perform the payment.
          - `paymentInstrumentId` string, uuid — Unique identifier of the Payment Instrument that the customer selected for the Payment.
          - `storeInstrument` boolean — Holder intention to store the payment instrument on authorize.
          - `paymentId` string, uuid — Unique identifier of the Payment affected during execution of the operation.
          - `amount` object, required — The amount used to execute the operation.
            - `value` string, required — Decimal amount of the major currency unit. Can be any precision.
            - `currency` string, required — ISO 3-letter currency code.
          - `success` boolean — Operation outcome. If `true`, then the operation was finished successfully, and `false` otherwise.
          - `operationResult` 'Success' | 'Accepted' | 'Pending' | 'HTTPRedirectRequired' | 'FormRedirectRequired' | 'Unknown' | 'UnexpectedProviderResponse' | 'ProviderUnknownError' | 'ProviderConnectionError' | 'Timeout' | 'ProviderTimeout' | 'GenericRejection' | 'FraudRisk' | 'DuplicateOperation' | 'OperationNotAllowed' | 'InstrumentNotAllowed' | 'InvalidInstrument' | 'InsufficientBalance' | 'BlockedInstrument' | 'ExpiredInstrument' | 'ValidationError' | 'ParamsError' | 'ProviderConfigError' | 'InvalidSignature' | 'InternalServerError' | 'PayerCanceled' | 'AuthenticationError' | 'AuthenticationRequired' | 'LimitExceeded' | 'PaymentMethodNotSupported' | 'AuthorizationRevoked' — Result of the Operation according to Payrails mapping from the provider response.
          - `providerId` string, uuid — Unique identifier of the provider used to execute the operation.
          - `provider` object — Provider used to execute the operation.
            - `id` string, uuid, required — Unique identifier of the provider.
            - `name` string, required — Name of the provider.
            - `displayName` string, required — Display name of the provider.
            - `type` 'Fraud' | 'Payment' | 'Payout' | 'Vault' | 'NetworkOffers' | 'ThreeDS' | 'NetworkGateway' | 'NetworkToken' | 'Bin' | 'Data' | 'Dispute' | 'DisputeAlert' | 'Tax', required — Provider type.
            - `status` 'active' | 'inactive' — Status of the provider.
            - `configSchema` string, required — JSON schema of the provider configuration.
            - `selfOnboarding` object — Self-onboarding capabilities available for this provider.
              - …
            - `notificationURLTemplate` string — Template of the notification URL for provider configs of that provider. The template contains variables between curly braces that can be mapped to the fields of the provider configs (e.g. `{id}`, `{accountName}`) and substituted to generate the notification URL of that provider config.
            - `createdAt` string, date-time, required — Date of creation of the provider.
            - `updatedAt` string, date-time — Last update of the provider.
          - `providerConfigId` string, uuid — Unique identifier of the provider configuration used to execute the operation.
          - `operationProviderReference` string — Reference of the operation in the provider's system.
          - `errors` object[] — The reason why the operation was not successful, set if `success = false`.
            - `id` string, uuid, required — Unique identifier of the error. Please use this value when reporting an issue to our team, so we can help you faster.
            - `code` string, required — Machine-friendly error code assigned to the error. Check the full list of possible values [here](https://docs.payrails.com/docs/error-codes#list-of-error-codes).
            - `detail` string, required — Human-readable description about the error, its cause, and resolution.
            - `docUrl` string — Link to the specific documentation about this particular `code`.
            - `reason` object — Metadata providing more details about the reason of the error. The structure of this object varies according to the `code`.
          - `accountFundingTransaction` boolean — Indicates whether the payment was an Account Funding Transaction. For example, loading a prepaid card, topping up a wallet, or funding a person-to-person (P2P) money transfer.
          - `authorizationCode` string — The acquirer authorization code if the payment was authorized.
          - `acquirerMID` string — Merchant Identifier (MID) on the acquirer that processed the payment.
          - `acquirerAccountCode` string — Account Code on the acquirer that processed the payment.
          - `acquirerCountryCode` string — Country Code on the acquirer that processed the payment.
          - `acquirerReference` string — Acquirer Reference Number (ARN) assigned to the payment by the issuer.
          - `providerReference` string — Unique identifier of the Payment in an external system, e.g. PSP.
          - `retrievalReference` string — Retrieval Reference Number (RRN) assigned to the payment by the issuer.
          - `paymentInstrument` object — Payment Instrument and tokens used to execute the authorize operation.
            - `id` string, uuid, required — Id of the instrument.
            - `createdAt` string, date-time, required — Date and time when the Instrument was created in Payrails.
            - `updatedAt` string, date-time, required — When the Instrument was last updated.
            - `holderId` string, uuid, required — Unique identifier of the Holder in Payrails.
            - `paymentMethod` 'alexBankMa7fazty' | 'applePay' | 'audi2pay' | 'bankAccount' | 'card' | 'cibSmartWallet' | 'easypaisa' | 'etisalatCash' | 'fawryMobileWallet' | 'fawryPay' | 'googlePay' | 'jazzCash' | 'nbePhoneCash' | 'orangeCash' | 'payPal' | 'qnbEWallet' | 'weCash' | 'genericRedirect' | 'alfa' | 'konnect' | 'eftPro' | 'netBanking' | 'upi' | 'cashFreeWallet' | 'paytmWallet' | 'phonePe', required — Represents the payment method type.
            - `status` 'created' | 'deleted' | 'enabled' | 'disabled' | 'transient', required — Status of the instrument.
            - `displayName` string — Instrument name suitable for display.
            - `description` string — Description of the instrument.
            - `default` boolean, nullable — True if this instrument is set as default for the holder.
            - `merchantReference` string — Merchant-provided reference for the instrument.
            - `fingerprint` string — System-wide unique identifier of the Instrument. If two Holders have the same instrument stored, this value will be the same for both, but the instrument and token IDs will be different. Cannot be used for payments, should only be used for analytics and fraud prevention.
            - `futureUsage` 'Subscription' | 'CardOnFile' | 'UnscheduledCardOnFile' — Represents the future usage to define the payment flows that the stored instrument will be used for.
            - `networkTransactionReference` string — Identifier of the initial payment made with this instrument on the Networks, e.g. Mastercard Trace ID or Visa Transaction ID.
            - `data` union — Type-specific information about the instrument.
              - …
            - `tokens` object[] — Payment Instrument tokens used to execute the authorize operation.
              - …
          - `providerResponseAdditionalFields` object — Any provider-specific response data requested by merchant on authorize.
        - `reason` 'BetterPrice' | 'CustomerDontNeed' | 'DamagedProduct' | 'Duplicate' | 'FraudulentProduct' | 'LateDelivery' | 'NoReason' | 'ProductMismatchDescription' | 'WrongProduct' | 'WrongProductSpecification' — Reason for invoking the operation or action.
        - `reasonDescription` string — Reason description specified when the action was initiated.
        - `errors` object[] — The main reason why the action was not successful, set if `success = false`.
          - `id` string, uuid, required — Unique identifier of the error. Please use this value when reporting an issue to our team, so we can help you faster.
          - `code` string, required — Machine-friendly error code assigned to the error. Check the full list of possible values [here](https://docs.payrails.com/docs/error-codes#list-of-error-codes).
          - `detail` string, required — Human-readable description about the error, its cause, and resolution.
          - `docUrl` string — Link to the specific documentation about this particular `code`.
          - `reason` object — Metadata providing more details about the reason of the error. The structure of this object varies according to the `code`.
      - object — Common fields shared by workflow execution step events.
        - `action` object, required — Parent workflow action that invoked the step execution.
          - `type` 'lookup' | 'authorize' | 'capture' | 'refund' | 'cancel' | 'payout' | 'orderUpdate', required — Type of workflow action.
          - `id` string, uuid, required — Unique identifier of the workflow action.
          - `triggerType` 'api' | 'action' | 'external', required — Specify what triggered the event. * `api` - Event was triggered through an API request. * `action` - Event was triggered as a result of another action. * `external` - Event was triggered outside of Payrails.
        - `step` object, required — Summary of a workflow step.
          - `id` string, uuid, required — Unique identifier of the workflow step.
          - `type` 'trigger' | 'action' | 'condition', required — Defines the type of operation to be executed. Each type has a different set of parameters.
          - `name` string, required — Human-readable name of the workflow step.
          - `code` string, required — Machine-readable code of the workflow step.
          - `previousStep` object — Summary of a workflow step.
            - `id` string, uuid, required — Unique identifier of the workflow step.
            - `type` 'trigger' | 'action' | 'condition', required — Defines the type of operation to be executed. Each type has a different set of parameters.
            - `name` string, required — Human-readable name of the workflow step.
            - `code` string, required — Machine-readable code of the workflow step.
          - `actionStepType` 'authorize' | 'capture' | 'refund' | 'cancel' | 'payout' | 'fraudScore' | 'lookup' | 'fraudUpdate' | 'notify' | 'createInstrument' | 'provisionNetworkToken' | 'threeDS' | 'tagDispute' | 'scoreDispute' | 'defendDispute' — Type of workflow action step executed within a workflow.
          - `triggerStepType` 'clientAPI' | 'merchantAPI' | 'event' — Specifies the API type for the trigger.
          - `triggerStepEventName` 'DisputeUpdated' | 'PaymentStatusUpdated' — The name of the event that triggers the workflow.
        - `workflow` object, required — Workflow template from which the Executions are created.
          - `code` string, required — Machine-friendly code of Workflow.
          - `version` integer, required — Version of a Workflow Configuration.
        - `output` object — Additional information about why the step was scheduled and when it will be executed (e.g. retry scheduling details).
      - object — Common fields shared by workflow execution step events.
        - `action` object, required — Parent workflow action that invoked the step execution.
          - `type` 'lookup' | 'authorize' | 'capture' | 'refund' | 'cancel' | 'payout' | 'orderUpdate', required — Type of workflow action.
          - `id` string, uuid, required — Unique identifier of the workflow action.
          - `triggerType` 'api' | 'action' | 'external', required — Specify what triggered the event. * `api` - Event was triggered through an API request. * `action` - Event was triggered as a result of another action. * `external` - Event was triggered outside of Payrails.
        - `step` object, required — Summary of a workflow step.
          - `id` string, uuid, required — Unique identifier of the workflow step.
          - `type` 'trigger' | 'action' | 'condition', required — Defines the type of operation to be executed. Each type has a different set of parameters.
          - `name` string, required — Human-readable name of the workflow step.
          - `code` string, required — Machine-readable code of the workflow step.
          - `previousStep` object — Summary of a workflow step.
            - `id` string, uuid, required — Unique identifier of the workflow step.
            - `type` 'trigger' | 'action' | 'condition', required — Defines the type of operation to be executed. Each type has a different set of parameters.
            - `name` string, required — Human-readable name of the workflow step.
            - `code` string, required — Machine-readable code of the workflow step.
          - `actionStepType` 'authorize' | 'capture' | 'refund' | 'cancel' | 'payout' | 'fraudScore' | 'lookup' | 'fraudUpdate' | 'notify' | 'createInstrument' | 'provisionNetworkToken' | 'threeDS' | 'tagDispute' | 'scoreDispute' | 'defendDispute' — Type of workflow action step executed within a workflow.
          - `triggerStepType` 'clientAPI' | 'merchantAPI' | 'event' — Specifies the API type for the trigger.
          - `triggerStepEventName` 'DisputeUpdated' | 'PaymentStatusUpdated' — The name of the event that triggers the workflow.
        - `workflow` object, required — Workflow template from which the Executions are created.
          - `code` string, required — Machine-friendly code of Workflow.
          - `version` integer, required — Version of a Workflow Configuration.
        - `output` object — Additional information about why the step was unscheduled.
      - object — Common fields shared by workflow execution step events.
        - `action` object, required — Parent workflow action that invoked the step execution.
          - `type` 'lookup' | 'authorize' | 'capture' | 'refund' | 'cancel' | 'payout' | 'orderUpdate', required — Type of workflow action.
          - `id` string, uuid, required — Unique identifier of the workflow action.
          - `triggerType` 'api' | 'action' | 'external', required — Specify what triggered the event. * `api` - Event was triggered through an API request. * `action` - Event was triggered as a result of another action. * `external` - Event was triggered outside of Payrails.
        - `step` object, required — Summary of a workflow step.
          - `id` string, uuid, required — Unique identifier of the workflow step.
          - `type` 'trigger' | 'action' | 'condition', required — Defines the type of operation to be executed. Each type has a different set of parameters.
          - `name` string, required — Human-readable name of the workflow step.
          - `code` string, required — Machine-readable code of the workflow step.
          - `previousStep` object — Summary of a workflow step.
            - `id` string, uuid, required — Unique identifier of the workflow step.
            - `type` 'trigger' | 'action' | 'condition', required — Defines the type of operation to be executed. Each type has a different set of parameters.
            - `name` string, required — Human-readable name of the workflow step.
            - `code` string, required — Machine-readable code of the workflow step.
          - `actionStepType` 'authorize' | 'capture' | 'refund' | 'cancel' | 'payout' | 'fraudScore' | 'lookup' | 'fraudUpdate' | 'notify' | 'createInstrument' | 'provisionNetworkToken' | 'threeDS' | 'tagDispute' | 'scoreDispute' | 'defendDispute' — Type of workflow action step executed within a workflow.
          - `triggerStepType` 'clientAPI' | 'merchantAPI' | 'event' — Specifies the API type for the trigger.
          - `triggerStepEventName` 'DisputeUpdated' | 'PaymentStatusUpdated' — The name of the event that triggers the workflow.
        - `workflow` object, required — Workflow template from which the Executions are created.
          - `code` string, required — Machine-friendly code of Workflow.
          - `version` integer, required — Version of a Workflow Configuration.
        - `input` object, required — The input data provided to the step at the time of the request.
      - object — Common fields shared by workflow execution step events.
        - `action` object, required — Parent workflow action that invoked the step execution.
          - `type` 'lookup' | 'authorize' | 'capture' | 'refund' | 'cancel' | 'payout' | 'orderUpdate', required — Type of workflow action.
          - `id` string, uuid, required — Unique identifier of the workflow action.
          - `triggerType` 'api' | 'action' | 'external', required — Specify what triggered the event. * `api` - Event was triggered through an API request. * `action` - Event was triggered as a result of another action. * `external` - Event was triggered outside of Payrails.
        - `step` object, required — Summary of a workflow step.
          - `id` string, uuid, required — Unique identifier of the workflow step.
          - `type` 'trigger' | 'action' | 'condition', required — Defines the type of operation to be executed. Each type has a different set of parameters.
          - `name` string, required — Human-readable name of the workflow step.
          - `code` string, required — Machine-readable code of the workflow step.
          - `previousStep` object — Summary of a workflow step.
            - `id` string, uuid, required — Unique identifier of the workflow step.
            - `type` 'trigger' | 'action' | 'condition', required — Defines the type of operation to be executed. Each type has a different set of parameters.
            - `name` string, required — Human-readable name of the workflow step.
            - `code` string, required — Machine-readable code of the workflow step.
          - `actionStepType` 'authorize' | 'capture' | 'refund' | 'cancel' | 'payout' | 'fraudScore' | 'lookup' | 'fraudUpdate' | 'notify' | 'createInstrument' | 'provisionNetworkToken' | 'threeDS' | 'tagDispute' | 'scoreDispute' | 'defendDispute' — Type of workflow action step executed within a workflow.
          - `triggerStepType` 'clientAPI' | 'merchantAPI' | 'event' — Specifies the API type for the trigger.
          - `triggerStepEventName` 'DisputeUpdated' | 'PaymentStatusUpdated' — The name of the event that triggers the workflow.
        - `workflow` object, required — Workflow template from which the Executions are created.
          - `code` string, required — Machine-friendly code of Workflow.
          - `version` integer, required — Version of a Workflow Configuration.
        - `input` object, required — The input data provided to the step at the time of execution start.
      - object — Common fields shared by workflow execution step events.
        - `action` object, required — Parent workflow action that invoked the step execution.
          - `type` 'lookup' | 'authorize' | 'capture' | 'refund' | 'cancel' | 'payout' | 'orderUpdate', required — Type of workflow action.
          - `id` string, uuid, required — Unique identifier of the workflow action.
          - `triggerType` 'api' | 'action' | 'external', required — Specify what triggered the event. * `api` - Event was triggered through an API request. * `action` - Event was triggered as a result of another action. * `external` - Event was triggered outside of Payrails.
        - `step` object, required — Summary of a workflow step.
          - `id` string, uuid, required — Unique identifier of the workflow step.
          - `type` 'trigger' | 'action' | 'condition', required — Defines the type of operation to be executed. Each type has a different set of parameters.
          - `name` string, required — Human-readable name of the workflow step.
          - `code` string, required — Machine-readable code of the workflow step.
          - `previousStep` object — Summary of a workflow step.
            - `id` string, uuid, required — Unique identifier of the workflow step.
            - `type` 'trigger' | 'action' | 'condition', required — Defines the type of operation to be executed. Each type has a different set of parameters.
            - `name` string, required — Human-readable name of the workflow step.
            - `code` string, required — Machine-readable code of the workflow step.
          - `actionStepType` 'authorize' | 'capture' | 'refund' | 'cancel' | 'payout' | 'fraudScore' | 'lookup' | 'fraudUpdate' | 'notify' | 'createInstrument' | 'provisionNetworkToken' | 'threeDS' | 'tagDispute' | 'scoreDispute' | 'defendDispute' — Type of workflow action step executed within a workflow.
          - `triggerStepType` 'clientAPI' | 'merchantAPI' | 'event' — Specifies the API type for the trigger.
          - `triggerStepEventName` 'DisputeUpdated' | 'PaymentStatusUpdated' — The name of the event that triggers the workflow.
        - `workflow` object, required — Workflow template from which the Executions are created.
          - `code` string, required — Machine-friendly code of Workflow.
          - `version` integer, required — Version of a Workflow Configuration.
        - `output` object — Additional information about why the step was paused (e.g. awaiting notification or required action result).
      - object — Common fields shared by workflow execution step events.
        - `action` object, required — Parent workflow action that invoked the step execution.
          - `type` 'lookup' | 'authorize' | 'capture' | 'refund' | 'cancel' | 'payout' | 'orderUpdate', required — Type of workflow action.
          - `id` string, uuid, required — Unique identifier of the workflow action.
          - `triggerType` 'api' | 'action' | 'external', required — Specify what triggered the event. * `api` - Event was triggered through an API request. * `action` - Event was triggered as a result of another action. * `external` - Event was triggered outside of Payrails.
        - `step` object, required — Summary of a workflow step.
          - `id` string, uuid, required — Unique identifier of the workflow step.
          - `type` 'trigger' | 'action' | 'condition', required — Defines the type of operation to be executed. Each type has a different set of parameters.
          - `name` string, required — Human-readable name of the workflow step.
          - `code` string, required — Machine-readable code of the workflow step.
          - `previousStep` object — Summary of a workflow step.
            - `id` string, uuid, required — Unique identifier of the workflow step.
            - `type` 'trigger' | 'action' | 'condition', required — Defines the type of operation to be executed. Each type has a different set of parameters.
            - `name` string, required — Human-readable name of the workflow step.
            - `code` string, required — Machine-readable code of the workflow step.
          - `actionStepType` 'authorize' | 'capture' | 'refund' | 'cancel' | 'payout' | 'fraudScore' | 'lookup' | 'fraudUpdate' | 'notify' | 'createInstrument' | 'provisionNetworkToken' | 'threeDS' | 'tagDispute' | 'scoreDispute' | 'defendDispute' — Type of workflow action step executed within a workflow.
          - `triggerStepType` 'clientAPI' | 'merchantAPI' | 'event' — Specifies the API type for the trigger.
          - `triggerStepEventName` 'DisputeUpdated' | 'PaymentStatusUpdated' — The name of the event that triggers the workflow.
        - `workflow` object, required — Workflow template from which the Executions are created.
          - `code` string, required — Machine-friendly code of Workflow.
          - `version` integer, required — Version of a Workflow Configuration.
        - `output` object — Additional information about why the step was resumed (e.g. notification received or required action result is available).
      - object — Common fields shared by workflow execution step events.
        - `action` object, required — Parent workflow action that invoked the step execution.
          - `type` 'lookup' | 'authorize' | 'capture' | 'refund' | 'cancel' | 'payout' | 'orderUpdate', required — Type of workflow action.
          - `id` string, uuid, required — Unique identifier of the workflow action.
          - `triggerType` 'api' | 'action' | 'external', required — Specify what triggered the event. * `api` - Event was triggered through an API request. * `action` - Event was triggered as a result of another action. * `external` - Event was triggered outside of Payrails.
        - `step` object, required — Summary of a workflow step.
          - `id` string, uuid, required — Unique identifier of the workflow step.
          - `type` 'trigger' | 'action' | 'condition', required — Defines the type of operation to be executed. Each type has a different set of parameters.
          - `name` string, required — Human-readable name of the workflow step.
          - `code` string, required — Machine-readable code of the workflow step.
          - `previousStep` object — Summary of a workflow step.
            - `id` string, uuid, required — Unique identifier of the workflow step.
            - `type` 'trigger' | 'action' | 'condition', required — Defines the type of operation to be executed. Each type has a different set of parameters.
            - `name` string, required — Human-readable name of the workflow step.
            - `code` string, required — Machine-readable code of the workflow step.
          - `actionStepType` 'authorize' | 'capture' | 'refund' | 'cancel' | 'payout' | 'fraudScore' | 'lookup' | 'fraudUpdate' | 'notify' | 'createInstrument' | 'provisionNetworkToken' | 'threeDS' | 'tagDispute' | 'scoreDispute' | 'defendDispute' — Type of workflow action step executed within a workflow.
          - `triggerStepType` 'clientAPI' | 'merchantAPI' | 'event' — Specifies the API type for the trigger.
          - `triggerStepEventName` 'DisputeUpdated' | 'PaymentStatusUpdated' — The name of the event that triggers the workflow.
        - `workflow` object, required — Workflow template from which the Executions are created.
          - `code` string, required — Machine-friendly code of Workflow.
          - `version` integer, required — Version of a Workflow Configuration.
        - `output` object — The output data produced by the step upon completion.
        - `error` object — Error struct that includes the error, cause, reason, and possible resolutions. Check the full documentation [here](https://docs.payrails.com/docs/error-codes#error-structure).
          - `id` string, uuid, required — Unique identifier of the error. Please use this value when reporting an issue to our team, so we can help you faster.
          - `code` string, required — Machine-friendly error code assigned to the error. Check the full list of possible values [here](https://docs.payrails.com/docs/error-codes#list-of-error-codes).
          - `detail` string, required — Human-readable description about the error, its cause, and resolution.
          - `docUrl` string — Link to the specific documentation about this particular `code`.
          - `reason` object — Metadata providing more details about the reason of the error. The structure of this object varies according to the `code`.
      - object — Common fields shared by workflow execution step events.
        - `action` object, required — Parent workflow action that invoked the step execution.
          - `type` 'lookup' | 'authorize' | 'capture' | 'refund' | 'cancel' | 'payout' | 'orderUpdate', required — Type of workflow action.
          - `id` string, uuid, required — Unique identifier of the workflow action.
          - `triggerType` 'api' | 'action' | 'external', required — Specify what triggered the event. * `api` - Event was triggered through an API request. * `action` - Event was triggered as a result of another action. * `external` - Event was triggered outside of Payrails.
        - `step` object, required — Summary of a workflow step.
          - `id` string, uuid, required — Unique identifier of the workflow step.
          - `type` 'trigger' | 'action' | 'condition', required — Defines the type of operation to be executed. Each type has a different set of parameters.
          - `name` string, required — Human-readable name of the workflow step.
          - `code` string, required — Machine-readable code of the workflow step.
          - `previousStep` object — Summary of a workflow step.
            - `id` string, uuid, required — Unique identifier of the workflow step.
            - `type` 'trigger' | 'action' | 'condition', required — Defines the type of operation to be executed. Each type has a different set of parameters.
            - `name` string, required — Human-readable name of the workflow step.
            - `code` string, required — Machine-readable code of the workflow step.
          - `actionStepType` 'authorize' | 'capture' | 'refund' | 'cancel' | 'payout' | 'fraudScore' | 'lookup' | 'fraudUpdate' | 'notify' | 'createInstrument' | 'provisionNetworkToken' | 'threeDS' | 'tagDispute' | 'scoreDispute' | 'defendDispute' — Type of workflow action step executed within a workflow.
          - `triggerStepType` 'clientAPI' | 'merchantAPI' | 'event' — Specifies the API type for the trigger.
          - `triggerStepEventName` 'DisputeUpdated' | 'PaymentStatusUpdated' — The name of the event that triggers the workflow.
        - `workflow` object, required — Workflow template from which the Executions are created.
          - `code` string, required — Machine-friendly code of Workflow.
          - `version` integer, required — Version of a Workflow Configuration.
        - `output` object — The intermediate output data produced by the step update.
        - `error` object — Error struct that includes the error, cause, reason, and possible resolutions. Check the full documentation [here](https://docs.payrails.com/docs/error-codes#error-structure).
          - `id` string, uuid, required — Unique identifier of the error. Please use this value when reporting an issue to our team, so we can help you faster.
          - `code` string, required — Machine-friendly error code assigned to the error. Check the full list of possible values [here](https://docs.payrails.com/docs/error-codes#list-of-error-codes).
          - `detail` string, required — Human-readable description about the error, its cause, and resolution.
          - `docUrl` string — Link to the specific documentation about this particular `code`.
          - `reason` object — Metadata providing more details about the reason of the error. The structure of this object varies according to the `code`.
      - object — Common fields shared by workflow execution step events.
        - `action` object, required — Parent workflow action that invoked the step execution.
          - `type` 'lookup' | 'authorize' | 'capture' | 'refund' | 'cancel' | 'payout' | 'orderUpdate', required — Type of workflow action.
          - `id` string, uuid, required — Unique identifier of the workflow action.
          - `triggerType` 'api' | 'action' | 'external', required — Specify what triggered the event. * `api` - Event was triggered through an API request. * `action` - Event was triggered as a result of another action. * `external` - Event was triggered outside of Payrails.
        - `step` object, required — Summary of a workflow step.
          - `id` string, uuid, required — Unique identifier of the workflow step.
          - `type` 'trigger' | 'action' | 'condition', required — Defines the type of operation to be executed. Each type has a different set of parameters.
          - `name` string, required — Human-readable name of the workflow step.
          - `code` string, required — Machine-readable code of the workflow step.
          - `previousStep` object — Summary of a workflow step.
            - `id` string, uuid, required — Unique identifier of the workflow step.
            - `type` 'trigger' | 'action' | 'condition', required — Defines the type of operation to be executed. Each type has a different set of parameters.
            - `name` string, required — Human-readable name of the workflow step.
            - `code` string, required — Machine-readable code of the workflow step.
          - `actionStepType` 'authorize' | 'capture' | 'refund' | 'cancel' | 'payout' | 'fraudScore' | 'lookup' | 'fraudUpdate' | 'notify' | 'createInstrument' | 'provisionNetworkToken' | 'threeDS' | 'tagDispute' | 'scoreDispute' | 'defendDispute' — Type of workflow action step executed within a workflow.
          - `triggerStepType` 'clientAPI' | 'merchantAPI' | 'event' — Specifies the API type for the trigger.
          - `triggerStepEventName` 'DisputeUpdated' | 'PaymentStatusUpdated' — The name of the event that triggers the workflow.
        - `workflow` object, required — Workflow template from which the Executions are created.
          - `code` string, required — Machine-friendly code of Workflow.
          - `version` integer, required — Version of a Workflow Configuration.
        - `input` object, required — The input data that triggered the workflow step.
        - `output` object, required — The output data produced by the trigger step call.
      - object — Common fields shared by workflow execution step events.
        - `action` object, required — Parent workflow action that invoked the step execution.
          - `type` 'lookup' | 'authorize' | 'capture' | 'refund' | 'cancel' | 'payout' | 'orderUpdate', required — Type of workflow action.
          - `id` string, uuid, required — Unique identifier of the workflow action.
          - `triggerType` 'api' | 'action' | 'external', required — Specify what triggered the event. * `api` - Event was triggered through an API request. * `action` - Event was triggered as a result of another action. * `external` - Event was triggered outside of Payrails.
        - `step` object, required — Summary of a workflow step.
          - `id` string, uuid, required — Unique identifier of the workflow step.
          - `type` 'trigger' | 'action' | 'condition', required — Defines the type of operation to be executed. Each type has a different set of parameters.
          - `name` string, required — Human-readable name of the workflow step.
          - `code` string, required — Machine-readable code of the workflow step.
          - `previousStep` object — Summary of a workflow step.
            - `id` string, uuid, required — Unique identifier of the workflow step.
            - `type` 'trigger' | 'action' | 'condition', required — Defines the type of operation to be executed. Each type has a different set of parameters.
            - `name` string, required — Human-readable name of the workflow step.
            - `code` string, required — Machine-readable code of the workflow step.
          - `actionStepType` 'authorize' | 'capture' | 'refund' | 'cancel' | 'payout' | 'fraudScore' | 'lookup' | 'fraudUpdate' | 'notify' | 'createInstrument' | 'provisionNetworkToken' | 'threeDS' | 'tagDispute' | 'scoreDispute' | 'defendDispute' — Type of workflow action step executed within a workflow.
          - `triggerStepType` 'clientAPI' | 'merchantAPI' | 'event' — Specifies the API type for the trigger.
          - `triggerStepEventName` 'DisputeUpdated' | 'PaymentStatusUpdated' — The name of the event that triggers the workflow.
        - `workflow` object, required — Workflow template from which the Executions are created.
          - `code` string, required — Machine-friendly code of Workflow.
          - `version` integer, required — Version of a Workflow Configuration.
        - `context` object, required — The execution context used when evaluating the condition.
          - `meta` object — Metadata for the context of an execution. Includes Payrails-defined structures for most common fields used in workflows, but can also be extended by merchant or provider-specific fields. For more information, visit our [Meta Fields guide](https://docs.payrails.com/docs/configure-meta-fields-for-your-providers).
            - `order` object — The order being placed on your system.
              - …
            - `customer` object — The customer placing the order.
              - …
            - `clientContext` object — Data describing the customer's device or browser.
              - …
            - `vendor` object — Description of a vendor that provides the order.
              - …
            - `risk` object — Configuration values for the risk prevention check.
              - …
            - `subscription` object — Configuration of a subscription process.
              - …
            - `tags` object — Additional meta fields to be sent to the payment providers which support metadata / tags. For example, sent to [Stripe as metadata](https://stripe.com/docs/api/metadata). Because these will always be PSP-specific, we do NOT recommend using these fields if they can actually be mapped to a generic field above.
          - `dynamic` object — Additional computed metadata available during evaluation.
        - `result` object, required — The outcome of the condition evaluation.
          - `matched` boolean — Whether the condition was matched.
          - `ruleId` string, uuid — The identifier of the rule that was matched, if any.
    - `workspaceId` string, uuid, required — Workspace ID that the event belongs to.
    - `eventTrigger` 'api' | 'action' | 'external', required — Specify what triggered the event. * `api` - Event was triggered through an API request. * `action` - Event was triggered as a result of another action. * `external` - Event was triggered outside of Payrails.
    - `notificationEvent` object
      - `id` string, uuid — Unique identifier of the Notification event.
      - `workflowExecutionId` string, required — Unique identifier of the Workflow Execution that this notification event belongs to.
      - `workflowCode` string, required — Workflow code.
      - `workflowExecutionEventId` string, uuid, required — Unique identifier of the Workflow Execution Event that this notification event belongs to.
      - `workspaceId` string, uuid, required — Unique identifier of the Workspace that this notification event belongs to.
      - `status` 'delivered' | 'deliveryFailed' | 'pending', required — Value of Notification event status enumeration.
      - `body` string — Original body request object sent.
      - `createdAt` string, date-time, required — Date of creation of the Notification.
      - `updatedAt` string, date-time, required — Last update of the Notification.

## Other responses

- `401` — Unauthorized.
- `403` — Insufficient Scope.
- `404` — Not Found.
- `429` — Too Many Requests.

---

[API](https://skmtc.dev/payrails/apis/payrails-api-reference.md) · [All operations](https://skmtc.dev/payrails/apis/payrails-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/payrails/payrails-api-reference/revisions/9dd2f0158582/schema)
