Individual Order Events

Event typeWhen it is sentPayload
OmnibusOrderCreatedAfter an individual order is saved. If order actions are required, it is sent while the order is still PendingActions; otherwise it is sent once the order has been handed to settlement. Orders rejected in the create response do not send itOmnibusOrderResponse
OmnibusOrderAcceptedWhen downstream processing accepts the order for execution. The order status becomes PendingExecutionOmnibusOrderResponse
OmnibusOrderRejectedWhen an order that was already created is rejected downstream, for example by the transfer agent (Settlement:TaRejected). The order status becomes Rejected and reason fields are populated when availableOmnibusOrderResponse
OmnibusOrderSentWhen the order has been sent to the transfer agent. The order status becomes Executed. Nothing is filled until the transfer agent confirmsOmnibusOrderResponse
OmnibusOrderUpdatedWhen an update request is accepted. For orders still in PendingActions, the update is applied locally and the webhook is sent immediately. For orders already downstream, the webhook is sent when downstream processing accepts the updateOmnibusOrderResponse
OmnibusOrderUpdateRejectedWhen downstream processing rejects an update request that was accepted as Pending. Updates refused in the API response do not send itUpdateOmnibusOrderResponse
OmnibusOrderCancelledWhen a cancellation is accepted and the order status becomes Cancelled. Local cancellations for orders still in PendingActions send this immediately; downstream cancellations send it only after the cancellation is accepted downstreamOmnibusOrderResponse
OmnibusOrderCancelRejectedWhen downstream processing rejects a cancellation request that was accepted as Pending. Cancellations refused in the API response do not send itCancelOmnibusOrderResponse
OmnibusOrderPartiallyFilledRetired and never sent. Fills in the netting queue don't send an event of their own; read them with GET /primary/v1/omnibus/order/{id}—
OmnibusOrderSettledWhen the transfer agent confirms the order. Fills, settled amounts and tax lots are recorded. A gated redemption can settle with a remainingQuantityOmnibusOrderResponse
OmnibusOrderFailedWhen downstream settlement or execution processing fails the order, for example Settlement:ConfirmationTimeout. The order status becomes Failed and reason fields are populated when availableOmnibusOrderResponse

Individual order events are sent to the platform that submitted the order. Orders that are lines of a model order do not send these events; follow the Model Order Events instead and read each line with GET /primary/v1/omnibus/order/{id}.

OmnibusOrderResponse

{
  "eventType": "OmnibusOrderSettled",
  "data": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "externalId": "string",
    "referenceId": "string",
    "accountId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "personId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "externalAccountNumber": "string",
    "financialInstitutionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "financialAdvisorId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "side": "Buy",
    "omnibusFundId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "omnibusShareClassId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "quantity": null,
    "notionalAmount": 10000.00,
    "effectiveNotionalAmount": 10000.00,
    "feeAmount": 0,
    "feeId": null,
    "currency": "USD",
    "distributionElection": "Cash",
    "taxLotElection": "FIFO",
    "requestedRouteInstruction": "DirectToTa",
    "routeInstruction": "DirectToTa",
    "modelId": null,
    "modelOrderId": null,
    "submittedAtUtc": "2026-07-14T15:18:57.691Z",
    "acceptedAtUtc": "2026-07-14T15:18:59.102Z",
    "status": "Settled",
    "statusReasonCode": null,
    "rejectedStatusReasonMessage": null,
    "filledQuantity": 400,
    "filledNotionalAmount": 10000.00,
    "remainingQuantity": 0,
    "remainingNotionalAmount": 0,
    "settledQuantity": 400,
    "settledNotionalAmount": 10000.00,
    "fills": [
      {
        "fillId": "string",
        "filledQuantity": 400,
        "filledNotionalAmount": 10000.00,
        "executionPrice": 25.00,
        "tradeDate": "2026-07-31",
        "source": "SettlementService",
        "status": "Settled"
      }
    ],
    "settlementItems": [
      {
        "settlementItemId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "quantity": 400,
        "notionalAmount": 10000.00,
        "status": "Settled",
        "reasonCode": null
      }
    ],
    "events": []
  }
}
  • personId is the account's primary owner
  • effectiveNotionalAmount is the amount invested after any order fee (feeAmount). remainingNotionalAmount starts from it
  • requestedRouteInstruction is what you sent; routeInstruction is how Monark routed the order. An order sent without a route goes to the transfer agent (TransferAgent)
  • events is reserved and currently always empty

UpdateOmnibusOrderResponse (Rejected)

{
  "eventType": "OmnibusOrderUpdateRejected",
  "data": {
    "updateRequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "orderId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "Rejected",
    "reasonCode": "string",
    "message": "string",
    "createdAtUtc": "2026-07-14T15:18:57.691Z"
  }
}

CancelOmnibusOrderResponse (Rejected)

{
  "eventType": "OmnibusOrderCancelRejected",
  "data": {
    "cancelRequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "orderId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "Rejected",
    "reasonCode": "string",
    "message": "string",
    "createdAtUtc": "2026-07-14T15:18:57.691Z",
    "updatedAtUtc": "2026-07-14T15:18:57.691Z"
  }
}

Notes:

  • You may receive OmnibusOrderCreated before the order has been accepted downstream.
  • A cancellation API response with status Pending does not mean the order is cancelled. You receive OmnibusOrderCancelled only when the cancellation is accepted.
  • Individual orders linked to a model order are not cancelled through the individual order endpoint. Use the model order cancellation flow.
  • Update and cancel rejection webhooks carry the request response object, not the full order response object.