# Create operation

Create operation

Endpoint: POST /v1/domains/{domainId}/virtual-ledgers/{virtualLedgerId}/operations
Security: httpAuth

## Path parameters:

  - `domainId` (string, required)

  - `virtualLedgerId` (string, required)

## Request fields (application/json):

  - `id` (string, required)

  - `request` (object, required)
    - `virtualAccountId` (string)
    - `tickerId` (string)
    - `destination` (object) — one of (discriminator: type):
      - Address:
        - `address` (string)
        - `type` (string, required)
          Enum: "Address"
      - VirtualAccount:
        - `virtualAccountId` (string)
        - `virtualLedgerId` (string)
        - `type` (string, required)
          Enum: "VirtualAccount"
    - `amount` (string)
    - `description` (string)
    - `customProperties` (object)
    - `type` (string, required)
      Enum: "Transfer"

  - `request.id` (string, required)

## Response 201 fields (application/json):

  - `id` (string, required)

  - `request` (object, required)
    - `virtualAccountId` (string)
    - `tickerId` (string)
    - `destination` (object) — one of (discriminator: type):
      - Address:
        - `address` (string)
        - `type` (string, required)
          Enum: same as `type` in "Address" (1 values)
      - VirtualAccount:
        - `virtualAccountId` (string)
        - `virtualLedgerId` (string)
        - `type` (string, required)
          Enum: same as `type` in "VirtualAccount" (1 values)
    - `amount` (string)
    - `description` (string)
    - `customProperties` (object)
    - `type` (string, required)
      Enum: same as `type` (1 values)

  - `status` (string, required)
    Enum: "Pending", "Completed", "Failed"

  - `custodyOperation` (object)

  - `custodyOperation.transactionOrderId` (string, required)

  - `custodyOperation.domainId` (string, required)


## Response 400 fields

## Response 404 fields
