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

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://developers.fireblocks.com/feedback

```json
{
  "path": "/api-reference/payments--flows/execute-the-payments-workflow",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# Execute the payments workflow

> Launch the execution of a pre-configured workflow, identified by "workflowExecutionId", once it reaches the READY_FOR_LAUNCH state. The workflow undergoes several phases during execution - EXECUTION_IN_PROGRESS - Marks the start of the workflow execution. EXECUTION_COMPLETED or EXECUTION_FAILED - Indicates the execution has reached a final state.



## OpenAPI

````yaml https://docs.fireblocks.com/api/v1/swagger.yaml post /payments/workflow_execution/{workflowExecutionId}/actions/execute
openapi: 3.0.0
info:
  title: Fireblocks API
  description: >
    Fireblocks provides a suite of applications to manage digital asset
    operations and a complete development platform to build your business on the
    blockchain.


    - Visit our website for more information: [Fireblocks
    Website](https://fireblocks.com)

    - Visit our developer docs: [Fireblocks
    DevPortal](https://developers.fireblocks.com)
  version: 1.6.2
  contact:
    email: developers@fireblocks.com
servers:
  - url: https://api.fireblocks.io/v1
    description: Fireblocks Production Environment Base URL
  - url: https://sandbox-api.fireblocks.io/v1
    description: Fireblocks Sandbox Environment Base URL
security: []
paths:
  /payments/workflow_execution/{workflowExecutionId}/actions/execute:
    post:
      tags:
        - Payments - Flows
      summary: Execute the payments workflow
      description: >-
        Launch the execution of a pre-configured workflow, identified by
        "workflowExecutionId", once it reaches the READY_FOR_LAUNCH state. The
        workflow undergoes several phases during execution -
        EXECUTION_IN_PROGRESS - Marks the start of the workflow execution.
        EXECUTION_COMPLETED or EXECUTION_FAILED - Indicates the execution has
        reached a final state.
      operationId: launchFlowExecution
      parameters:
        - name: workflowExecutionId
          in: path
          schema:
            type: string
          required: true
        - $ref: '#/components/parameters/X-Idempotency-Key'
      responses:
        '200':
          description: Workflow execution has been executed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowExecution'
        '401':
          description: Unauthorized. Missing / invalid JWT token in Authorization header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  parameters:
    X-Idempotency-Key:
      name: Idempotency-Key
      in: header
      description: >-
        A unique identifier for the request. If the request is sent multiple
        times with the same idempotency key, the server will return the same
        response as the first request. The idempotency key is valid for 24
        hours.
      required: false
      schema:
        type: string
  schemas:
    WorkflowExecution:
      type: object
      x-internal: true
      properties:
        executionId:
          type: string
        preScreening:
          $ref: '#/components/schemas/PreScreening'
        configSnapshot:
          $ref: '#/components/schemas/WorkflowConfigurationSnapshot'
        executionOperations:
          type: array
          items:
            $ref: '#/components/schemas/WorkflowExecutionOperation'
        status:
          type: string
          enum:
            - PENDING
            - VALIDATION_IN_PROGRESS
            - VALIDATION_FAILED
            - VALIDATION_COMPLETED
            - PREVIEW_IN_PROGRESS
            - PREVIEW_FAILED
            - READY_FOR_LAUNCH
            - EXECUTION_IN_PROGRESS
            - EXECUTION_COMPLETED
            - EXECUTION_FAILED
        triggeredBy:
          type: string
        triggeredAt:
          type: number
        finishedAt:
          type: number
        externalCorrelationData:
          $ref: '#/components/schemas/CorrelationData'
      required:
        - executionId
        - status
        - executionOperations
        - configSnapshot
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - INTERNAL
                - AUTHENTICATION
                - AUTHORIZATION
                - VALIDATION
                - NOT_FOUND
                - UNPROCESSABLE_ENTITY
                - FORBIDDEN
            message:
              type: string
          required:
            - type
            - message
      required:
        - error
    PreScreening:
      type: object
      properties:
        enabled:
          type: boolean
      required:
        - enabled
    WorkflowConfigurationSnapshot:
      type: object
      x-internal: true
      properties:
        configId:
          type: string
        configName:
          type: string
        createdAt:
          type: number
        configOperations:
          type: array
          items:
            $ref: '#/components/schemas/ConfigOperationSnapshot'
        externalCorrelationData:
          $ref: '#/components/schemas/CorrelationData'
      required:
        - configId
        - configName
        - configOperations
        - createdAt
    WorkflowExecutionOperation:
      oneOf:
        - $ref: '#/components/schemas/ExecutionScreeningOperation'
        - $ref: '#/components/schemas/ExecutionConversionOperation'
        - $ref: '#/components/schemas/ExecutionTransferOperation'
        - $ref: '#/components/schemas/ExecutionDisbursementOperation'
    CorrelationData:
      x-internal: true
      oneOf:
        - type: object
          additionalProperties:
            type: string
        - type: string
    ConfigOperationSnapshot:
      oneOf:
        - $ref: '#/components/schemas/ConfigConversionOperationSnapshot'
        - $ref: '#/components/schemas/ConfigTransferOperationSnapshot'
        - $ref: '#/components/schemas/ConfigDisbursementOperationSnapshot'
    ExecutionScreeningOperation:
      type: object
      properties:
        operationId:
          type: string
        status:
          $ref: '#/components/schemas/ExecutionOperationStatus'
        operationType:
          $ref: '#/components/schemas/ScreeningOperationType'
        validationFailure:
          $ref: '#/components/schemas/ScreeningValidationFailure'
        execution:
          $ref: '#/components/schemas/ScreeningOperationExecution'
      required:
        - operationId
        - status
        - operationType
    ExecutionConversionOperation:
      type: object
      properties:
        operationId:
          type: string
        status:
          $ref: '#/components/schemas/ExecutionOperationStatus'
        validationFailure:
          $ref: '#/components/schemas/ConversionValidationFailure'
        operationType:
          $ref: '#/components/schemas/ConversionOperationType'
        preview:
          $ref: '#/components/schemas/ConversionOperationPreview'
        execution:
          $ref: '#/components/schemas/ConversionOperationExecution'
      required:
        - operationId
        - status
        - operationType
    ExecutionTransferOperation:
      type: object
      properties:
        operationId:
          type: string
        status:
          $ref: '#/components/schemas/ExecutionOperationStatus'
        validationFailure:
          $ref: '#/components/schemas/TransferValidationFailure'
        operationType:
          $ref: '#/components/schemas/TransferOperationType'
        preview:
          $ref: '#/components/schemas/TransferOperationPreview'
        execution:
          $ref: '#/components/schemas/TransferOperationExecution'
      required:
        - operationId
        - status
        - operationType
    ExecutionDisbursementOperation:
      type: object
      properties:
        operationId:
          type: string
        status:
          $ref: '#/components/schemas/ExecutionOperationStatus'
        validationFailure:
          $ref: '#/components/schemas/DisbursementValidationFailure'
        operationType:
          $ref: '#/components/schemas/DisbursementOperationType'
        preview:
          $ref: '#/components/schemas/DisbursementOperationPreview'
        execution:
          $ref: '#/components/schemas/DisbursementOperationExecution'
      required:
        - operationId
        - status
        - operationType
    ConfigConversionOperationSnapshot:
      type: object
      properties:
        operationId:
          type: string
        type:
          $ref: '#/components/schemas/ConversionOperationType'
        params:
          $ref: '#/components/schemas/ConversionOperationConfigParams'
      required:
        - operationId
        - type
        - params
    ConfigTransferOperationSnapshot:
      type: object
      properties:
        operationId:
          type: string
        type:
          $ref: '#/components/schemas/TransferOperationType'
        params:
          $ref: '#/components/schemas/TransferOperationConfigParams'
      required:
        - operationId
        - type
        - params
    ConfigDisbursementOperationSnapshot:
      type: object
      properties:
        operationId:
          type: string
        type:
          $ref: '#/components/schemas/DisbursementOperationType'
        params:
          $ref: '#/components/schemas/DisbursementOperationConfigParams'
      required:
        - operationId
        - type
        - params
    ExecutionOperationStatus:
      type: string
      enum:
        - PENDING
        - VALIDATION_IN_PROGRESS
        - VALIDATION_FAILED
        - VALIDATION_COMPLETED
        - PREVIEW_REQUESTED
        - PREVIEW_IN_PROGRESS
        - PREVIEW_FAILED
        - READY_FOR_LAUNCH
        - EXECUTION_REQUESTED
        - EXECUTION_IN_PROGRESS
        - EXECUTION_COMPLETED
        - EXECUTION_FAILED
    ScreeningOperationType:
      type: string
      enum:
        - SCREENING
    ScreeningValidationFailure:
      type: object
      properties:
        reason:
          type: string
          enum:
            - SCREENING_DISABLED_IN_TENANT
        data:
          type: object
          additionalProperties: {}
      required:
        - reason
    ScreeningOperationExecution:
      type: object
      properties:
        output:
          $ref: '#/components/schemas/ScreeningOperationExecutionOutput'
        startedAt:
          type: number
        finishedAt:
          type: number
        failure:
          $ref: '#/components/schemas/ScreeningOperationFailure'
      required:
        - startedAt
    ConversionValidationFailure:
      type: object
      properties:
        reason:
          type: string
          enum:
            - ACCOUNT_NOT_FOUND
            - ACCOUNT_TYPE_NOT_SUPPORTED
            - INSUFFICIENT_BALANCE
            - ASSET_NOT_FOUND
            - ASSETS_CONTINUITY_MISMATCH
            - EXCHANGE_BASKETS_MISMATCH
            - ACCOUNTS_CONTINUITY_MISMATCH
            - ONE_TIME_ADDRESS_CONTINUITY_NOT_ALLOWED
            - EQUAL_ACCOUNTS_NOT_ALLOWED
            - EQUAL_ASSETS_NOT_ALLOWED
            - INVALID_AMOUNT
            - UNMANAGED_WALLET_AS_SOURCE_NOT_ALLOWED
            - MANAGED_OPERATION_PARAMS_INVALID_SCHEMA
            - ACCOUNT_IS_NOT_EXCHANGE
            - UNSUPPORTED_TRADING_METHOD
            - ASSETS_CAN_NOT_CONVERTED
        data:
          type: object
          additionalProperties: {}
      required:
        - reason
    ConversionOperationType:
      type: string
      enum:
        - CONVERSION
    ConversionOperationPreview:
      type: object
      properties:
        input:
          $ref: '#/components/schemas/ConversionOperationConfigParams'
        output:
          $ref: '#/components/schemas/ConversionOperationPreviewOutput'
        failure:
          $ref: '#/components/schemas/ConversionOperationFailure'
      required:
        - input
    ConversionOperationExecution:
      type: object
      properties:
        input:
          $ref: '#/components/schemas/ConversionOperationConfigParams'
        output:
          $ref: '#/components/schemas/ConversionOperationExecutionOutput'
        startedAt:
          type: number
        finishedAt:
          type: number
        failure:
          $ref: '#/components/schemas/ConversionOperationFailure'
      required:
        - input
        - startedAt
    TransferValidationFailure:
      type: object
      properties:
        reason:
          type: string
          enum:
            - ACCOUNT_NOT_FOUND
            - ACCOUNT_TYPE_NOT_SUPPORTED
            - INSUFFICIENT_BALANCE
            - ASSET_NOT_FOUND
            - ASSETS_CONTINUITY_MISMATCH
            - EXCHANGE_BASKETS_MISMATCH
            - ACCOUNTS_CONTINUITY_MISMATCH
            - ONE_TIME_ADDRESS_CONTINUITY_NOT_ALLOWED
            - EQUAL_ACCOUNTS_NOT_ALLOWED
            - EQUAL_ASSETS_NOT_ALLOWED
            - INVALID_AMOUNT
            - UNMANAGED_WALLET_AS_SOURCE_NOT_ALLOWED
            - MANAGED_OPERATION_PARAMS_INVALID_SCHEMA
        data:
          type: object
          additionalProperties: true
      required:
        - reason
    TransferOperationType:
      type: string
      enum:
        - TRANSFER
    TransferOperationPreview:
      type: object
      properties:
        input:
          $ref: '#/components/schemas/TransferOperationConfigParams'
        output:
          $ref: '#/components/schemas/TransferOperationPreviewOutput'
        failure:
          $ref: '#/components/schemas/TransferOperationFailure'
      required:
        - input
    TransferOperationExecution:
      type: object
      properties:
        input:
          $ref: '#/components/schemas/TransferOperationConfigParams'
        output:
          $ref: '#/components/schemas/TransferOperationExecutionOutput'
        txId:
          type: string
        startedAt:
          type: number
        finishedAt:
          type: number
        failure:
          $ref: '#/components/schemas/TransferOperationFailure'
      required:
        - input
        - startedAt
    DisbursementValidationFailure:
      type: object
      properties:
        reason:
          type: string
          enum:
            - ACCOUNT_NOT_FOUND
            - ACCOUNT_TYPE_NOT_SUPPORTED
            - INSUFFICIENT_BALANCE
            - ASSET_NOT_FOUND
            - ASSETS_CONTINUITY_MISMATCH
            - EXCHANGE_BASKETS_MISMATCH
            - ACCOUNTS_CONTINUITY_MISMATCH
            - ONE_TIME_ADDRESS_CONTINUITY_NOT_ALLOWED
            - EQUAL_ACCOUNTS_NOT_ALLOWED
            - EQUAL_ASSETS_NOT_ALLOWED
            - INVALID_AMOUNT
            - UNMANAGED_WALLET_AS_SOURCE_NOT_ALLOWED
            - MANAGED_OPERATION_PARAMS_INVALID_SCHEMA
            - INSTRUCTIONS_EXCEED_HUNDRED_PERCENT
            - INSTRUCTIONS_ARRAY_EMPTY
        data:
          type: object
          additionalProperties: {}
      required:
        - reason
    DisbursementOperationType:
      type: string
      enum:
        - DISBURSEMENT
    DisbursementOperationPreview:
      type: object
      properties:
        input:
          $ref: '#/components/schemas/DisbursementOperationInput'
        output:
          $ref: '#/components/schemas/DisbursementOperationPreviewOutput'
        failure:
          $ref: '#/components/schemas/OperationExecutionFailure'
      required:
        - input
    DisbursementOperationExecution:
      type: object
      properties:
        input:
          $ref: '#/components/schemas/DisbursementOperationInput'
        output:
          $ref: '#/components/schemas/DisbursementOperationExecutionOutput'
        payoutId:
          type: string
        startedAt:
          type: number
        finishedAt:
          type: number
        failure:
          $ref: '#/components/schemas/OperationExecutionFailure'
      required:
        - input
        - startedAt
    ConversionOperationConfigParams:
      type: object
      properties:
        amount:
          type: string
        accountId:
          type: string
        srcAssetId:
          type: string
        destAssetId:
          type: string
        slippageBasisPoints:
          type: integer
          minimum: 0
          maximum: 10000
      required:
        - destAssetId
    TransferOperationConfigParams:
      type: object
      properties:
        amount:
          type: string
        assetId:
          type: string
        source:
          $ref: '#/components/schemas/Account'
        destination:
          $ref: '#/components/schemas/Destination'
      required:
        - destination
    DisbursementOperationConfigParams:
      type: object
      properties:
        paymentAccount:
          $ref: '#/components/schemas/Account'
        instructionSet:
          type: array
          items:
            $ref: '#/components/schemas/DisbursementInstruction'
      required:
        - instructionSet
    ScreeningOperationExecutionOutput:
      type: object
      properties:
        verdicts:
          type: array
          items:
            $ref: '#/components/schemas/ScreeningVerdict'
      required:
        - verdicts
    ScreeningOperationFailure:
      type: object
      properties:
        reason:
          type: string
          enum:
            - AML_PROCESS_FAILED
            - SCREENING_REJECTED
        data:
          $ref: '#/components/schemas/ScreeningOperationExecutionOutput'
      required:
        - reason
    ConversionOperationPreviewOutput:
      type: object
      properties:
        amount:
          $ref: '#/components/schemas/AssetAmount'
        fee:
          $ref: '#/components/schemas/AssetAmount'
        conversionRate:
          type: string
        timeSeconds:
          type: number
      required:
        - amount
        - fee
        - conversionRate
        - timeSeconds
    ConversionOperationFailure:
      type: object
      properties:
        reason:
          type: string
          enum:
            - INVALID_AMOUNT
            - SLIPPAGE_EXCEEDED
            - AMOUNT_TOO_SMALL
            - INSUFFICIENT_FUNDS
        data:
          type: object
          additionalProperties: {}
      required:
        - reason
    ConversionOperationExecutionOutput:
      type: object
      properties:
        amount:
          $ref: '#/components/schemas/AssetAmount'
        fee:
          $ref: '#/components/schemas/AssetAmount'
        conversionRate:
          type: string
      required:
        - amount
        - fee
        - conversionRate
    TransferOperationPreviewOutput:
      type: object
      properties:
        amount:
          $ref: '#/components/schemas/AssetAmount'
        fee:
          $ref: '#/components/schemas/AssetAmount'
        isSignRequired:
          type: boolean
        timeSeconds:
          type: number
      required:
        - amount
        - fee
        - isSignRequired
        - timeSeconds
    TransferOperationFailure:
      type: object
      properties:
        reason:
          type: string
          enum:
            - INVALID_AMOUNT
            - SUBMISSION_FAILED
            - TRANSACTION_FAILED
        data:
          type: object
          properties:
            txId:
              type: string
            txStatus:
              type: string
            txSubStatus:
              type: string
          required:
            - txId
            - txStatus
      required:
        - reason
    TransferOperationExecutionOutput:
      type: object
      properties:
        amount:
          $ref: '#/components/schemas/AssetAmount'
        fee:
          $ref: '#/components/schemas/AssetAmount'
      required:
        - amount
        - fee
    DisbursementOperationInput:
      type: object
      properties:
        amount:
          type: string
        paymentAccount:
          $ref: '#/components/schemas/Account'
        instructionSet:
          type: array
          items:
            $ref: '#/components/schemas/DisbursementInstruction'
      required:
        - paymentAccount
        - instructionSet
    DisbursementOperationPreviewOutput:
      type: object
      properties:
        instructionSet:
          type: array
          items:
            allOf:
              - $ref: '#/components/schemas/DisbursementInstructionOutput'
              - type: object
                properties:
                  timeSeconds:
                    type: number
                required:
                  - timeSeconds
      required:
        - instructionSet
    OperationExecutionFailure:
      type: object
      properties:
        reason:
          type: string
        data:
          type: object
          additionalProperties: {}
      required:
        - reason
    DisbursementOperationExecutionOutput:
      type: object
      properties:
        instructionSet:
          type: array
          items:
            $ref: '#/components/schemas/DisbursementInstructionOutput'
      required:
        - instructionSet
    Account:
      type: object
      properties:
        accountId:
          type: string
        accountType:
          $ref: '#/components/schemas/AccountType'
      required:
        - accountId
        - accountType
    Destination:
      oneOf:
        - $ref: '#/components/schemas/Account'
        - $ref: '#/components/schemas/OneTimeAddressAccount'
    DisbursementInstruction:
      oneOf:
        - $ref: '#/components/schemas/DisbursementAmountInstruction'
        - $ref: '#/components/schemas/DisbursementPercentageInstruction'
    ScreeningVerdict:
      type: object
      properties:
        verdict:
          type: string
          enum:
            - PASSED
            - PASSED_WITH_ALERT
            - REJECTED
            - FAILED
            - BYPASSED
        executionOperationId:
          type: string
        account:
          $ref: '#/components/schemas/Destination'
        assetId:
          type: string
        amount:
          type: string
        matchedRule:
          type: object
          properties:
            action:
              type: string
            category:
              type: array
              items:
                type: string
      required:
        - executionOperationId
        - account
        - verdict
        - assetId
        - amount
    AssetAmount:
      type: object
      properties:
        amount:
          type: string
        assetId:
          type: string
      required:
        - amount
        - assetId
    DisbursementInstructionOutput:
      type: object
      properties:
        amount:
          $ref: '#/components/schemas/AssetAmount'
        fee:
          $ref: '#/components/schemas/AssetAmount'
        payeeAccount:
          $ref: '#/components/schemas/Destination'
      required:
        - amount
        - fee
        - payeeAccount
    AccountType:
      type: string
      enum:
        - EXCHANGE_ACCOUNT
        - UNMANAGED_WALLET
        - VAULT_ACCOUNT
        - NETWORK_CONNECTION
        - FIAT_ACCOUNT
    OneTimeAddressAccount:
      type: object
      properties:
        oneTimeAddress:
          type: string
        tag:
          type: string
      required:
        - oneTimeAddress
    DisbursementAmountInstruction:
      type: object
      properties:
        payeeAccount:
          $ref: '#/components/schemas/Destination'
        assetId:
          type: string
        amount:
          type: string
      required:
        - payeeAccount
        - assetId
        - amount
    DisbursementPercentageInstruction:
      type: object
      properties:
        payeeAccount:
          $ref: '#/components/schemas/Destination'
        assetId:
          type: string
        percentage:
          type: string
      required:
        - payeeAccount
        - assetId
        - percentage

````