Moment · Schema
Event Data
CompanyFixed IncomeBondsTradingMarket DataReference DataInvestment ManagementWealth ManagementBrokerageFinancial ServicesFintech
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/moment/main/json-schema/moment-event-data-schema.json",
"title": "Event Data",
"x-generated": "2026-10-14",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/moment-orders-api-openapi.yml#/components/schemas/EventData",
"type": "object",
"oneOf": [
{
"$ref": "#/$defs/RequestEvent"
},
{
"$ref": "#/$defs/RejectEvent"
},
{
"$ref": "#/$defs/ApproveEvent"
},
{
"$ref": "#/$defs/CancelEvent"
},
{
"$ref": "#/$defs/ExecutionEvent"
},
{
"$ref": "#/$defs/AllocationCreateEvent"
},
{
"$ref": "#/$defs/AllocationRejectEvent"
},
{
"$ref": "#/$defs/AllocationApproveEvent"
},
{
"$ref": "#/$defs/AllocationCancelEvent"
},
{
"$ref": "#/$defs/AllocationCalculateEvent"
},
{
"$ref": "#/$defs/AllocationSubmitEvent"
},
{
"$ref": "#/$defs/AllocationFailEvent"
},
{
"$ref": "#/$defs/CancelRequestEvent"
},
{
"$ref": "#/$defs/CancelRejectEvent"
},
{
"$ref": "#/$defs/CancelAllocationRequestEvent"
},
{
"$ref": "#/$defs/CancelAllocationRejectEvent"
},
{
"$ref": "#/$defs/FlaggedForReviewEvent"
},
{
"$ref": "#/$defs/ManualApproveRequestEvent"
},
{
"$ref": "#/$defs/ManualApproveFailureEvent"
},
{
"$ref": "#/$defs/ManualRejectRequestEvent"
},
{
"$ref": "#/$defs/ManualRejectFailureEvent"
},
{
"$ref": "#/$defs/ExternalTradeReportRequestEvent"
},
{
"$ref": "#/$defs/ExternalTradeReportRejectEvent"
},
{
"$ref": "#/$defs/ExecutionOrderRequestEvent"
},
{
"$ref": "#/$defs/ExecutionOrderRejectEvent"
},
{
"$ref": "#/$defs/ExecutionOrderCreateEvent"
},
{
"$ref": "#/$defs/ExecutionOrderCancelRequestEvent"
},
{
"$ref": "#/$defs/ExecutionOrderCancelRejectEvent"
},
{
"$ref": "#/$defs/ExecutionOrderCancelEvent"
},
{
"$ref": "#/$defs/RFQCreateEvent"
}
],
"$defs": {
"AccountAllocationDetails": {
"description": "The account allocation details specify the amount of the order that was allocated to a specific account.",
"type": "object",
"properties": {
"account_id": {
"$ref": "#/$defs/AccountID"
},
"accrued_interest": {
"description": "The pro-rated coupon payment that will be either paid or received when the trade is settled. Expressed in USD.",
"type": "number"
},
"actual_amount": {
"$ref": "#/$defs/OrderSize"
},
"client_account_allocation_id": {
"description": "Client-provided unique ID for the account allocation; for example, to cross-reference with an internal system. Values must be unique within the trading day.",
"type": "string"
},
"fill_price": {
"$ref": "#/$defs/LimitPrice"
},
"net_money": {
"description": "Actual cash flow of the order.",
"type": "number"
},
"pre_fee_net_money": {
"description": "Net money of the order before fees are applied.",
"type": "number"
},
"requested_amount": {
"$ref": "#/$defs/OrderSize"
},
"venue_execution_id": {
"description": "The identifier for the trade as provided by the venue.",
"type": "string"
},
"venue_mpid": {
"description": "The Market Participant Identifier (MPID) of the venue where the trade was executed.",
"type": "string"
}
},
"title": "Account Allocation Details"
},
"AccountAllocationRequest": {
"description": "The account allocation request specifies the amount of the order to allocate to a specific account.\nNote that requested_amount values must be a multiple of the par size of the bond.",
"type": "object",
"properties": {
"account_configuration": {
"$ref": "#/$defs/AccountConfiguration"
},
"account_id": {
"$ref": "#/$defs/AccountID"
},
"client_account_allocation_id": {
"description": "Client-provided unique ID for the account allocation; for example, to cross-reference with an internal system. Values must be unique within the trading day.",
"type": "string"
},
"custodian_id": {
"description": "The ID of the custodian for the account allocation.",
"type": "string"
},
"requested_amount": {
"$ref": "#/$defs/OrderSize"
}
},
"title": "Account Allocation Request"
},
"AccountConfiguration": {
"title": "Account Configuration",
"type": "object",
"description": "Account configuration for the allocation",
"properties": {
"prime_brokerage_enabled": {
"type": "boolean",
"description": "Whether the prime brokerage is enabled for the account.",
"x-go-type-skip-optional-pointer": true
},
"household_id": {
"type": "string",
"description": "The ID of the household for the account.",
"x-go-type-skip-optional-pointer": true,
"x-go-name": "HouseholdID"
},
"manager_id": {
"type": "string",
"description": "The accounts-service platform advisor for the account: an\naccount group, not a person. The person credited with the trade\nis iar.\n",
"x-go-type-skip-optional-pointer": true,
"x-go-name": "ManagerID"
},
"custodian_advisor_id": {
"description": "The custodian's own identifier for the manager_id account group at\nthis custodian: the rep code. Stored as sent.\n",
"type": "string",
"x-go-type-skip-optional-pointer": true,
"x-go-name": "CustodianAdvisorID"
},
"custodian_id": {
"$ref": "#/$defs/CustodianID"
},
"booking_type": {
"allOf": [
{
"$ref": "#/$defs/BookingType"
}
],
"x-go-type-skip-optional-pointer": true
},
"custodian_tax_lot_id": {
"description": "The tax lot ID assigned by the custodian. Deprecated, use lot_instruction.custodian_tax_lot_id instead.",
"type": "string",
"deprecated": true
},
"is_discretionary": {
"description": "Whether the introducing broker exercised discretion on behalf of the end client on this particular order.",
"type": "boolean"
},
"is_solicited": {
"description": "Whether the order was solicited. Must be unset if the order is discretionary.",
"type": "boolean"
},
"is_natural_person": {
"description": "Whether the account is held by a natural person rather than a\nlegal entity. Omit when the holder cannot be classified, as a\ntrust or an estate may not be. An attestation control can be\nlimited to the accounts this is true of.\n",
"type": "boolean"
},
"lot_instruction": {
"$ref": "#/$defs/LotInstruction"
},
"iar": {
"allOf": [
{
"$ref": "#/$defs/InvestmentAdvisorRepresentative"
}
],
"x-go-name": "IAR"
}
}
},
"AccountID": {
"type": "string",
"title": "AccountID",
"description": "Unique ID of user account"
},
"AggressivenessLevel": {
"title": "Aggressiveness Level",
"type": "string",
"description": "Execution aggressiveness for a custodian algo. Required by some custodians (e.g. Fidelity);\nignored by custodians without an equivalent concept (e.g. Schwab).",
"enum": [
"passive",
"neutral",
"aggressive"
],
"x-enumNames": [
"AggressivenessLevelPassive",
"AggressivenessLevelNeutral",
"AggressivenessLevelAggressive"
]
},
"AlgoParameters": {
"title": "Algo Parameters",
"type": "object",
"description": "Execution parameters for custodian algos. Exactly one of `twap`, `vwap`, `pov`, or `is` must be set.\nOnly supported on the custodian protocol with the manual strategy. Fields or values not accepted\nby a given custodian are rejected downstream.",
"properties": {
"twap": {
"$ref": "#/$defs/TwapParameters"
},
"vwap": {
"$ref": "#/$defs/VwapParameters"
},
"pov": {
"$ref": "#/$defs/PovParameters"
},
"is": {
"$ref": "#/$defs/IsParameters"
}
}
},
"AllOrNone": {
"description": "If set to true, the entire order quantity will be filled or none at all. There will be no partial fills.",
"type": "boolean",
"default": false,
"title": "All or None",
"x-go-type-skip-optional-pointer": true
},
"AllocationAccountRequest": {
"title": "Allocation Account Request",
"type": "object",
"description": "The account allocation request specifies the amount of the order to allocate to a specific account.\nNote that requested_amount values must be a multiple of the par size of the bond.",
"required": [
"client_account_allocation_id",
"account_id",
"requested_amount"
],
"properties": {
"client_account_allocation_id": {
"type": "string",
"description": "Client-provided unique ID for the account allocation; for example, to cross-reference with an internal system. Values must be unique within the trading day.",
"x-go-name": "ClientAccountAllocationID"
},
"account_id": {
"type": "string",
"description": "Unique ID of user account",
"x-go-name": "AccountID"
},
"requested_amount": {
"$ref": "#/$defs/OrderSize"
},
"account_configuration": {
"$ref": "#/$defs/AccountConfiguration"
},
"moment_sleeve_id": {
"type": "string",
"description": "The Moment internal ID of the sleeve to allocate the order to.",
"x-go-name": "MomentSleeveID"
},
"order_received_at": {
"type": "string",
"format": "date-time",
"description": "When the end client confirmed the order for this account."
},
"order_received_by": {
"description": "Who took that confirmation, by Moment user reference or by name.",
"allOf": [
{
"$ref": "#/$defs/InvestmentAdvisorRepresentative"
}
]
}
}
},
"AllocationApproveEvent": {
"type": "object",
"properties": {
"event": {
"$ref": "#/$defs/AllocationApproveEventEventPayload"
},
"event_id": {
"$ref": "#/$defs/EventID"
},
"msg_number": {
"$ref": "#/$defs/MsgNumber"
},
"msg_type": {
"type": "string",
"enum": [
"allocation_update"
]
},
"summary": {
"$ref": "#/$defs/AllocationSummary"
}
},
"title": "Allocation Approve Event"
},
"AllocationApproveEventEventPayload": {
"type": "object",
"properties": {
"allocation_id": {
"$ref": "#/$defs/AllocationID"
},
"client_allocation_id": {
"$ref": "#/$defs/ClientAllocationID"
},
"event_type": {
"type": "string",
"enum": [
"allocation_approve"
],
"x-enum-varnames": [
"EventTypeAllocationApprove"
]
},
"time": {
"type": "string",
"format": "date-time"
}
}
},
"AllocationCalculateEvent": {
"type": "object",
"properties": {
"event": {
"$ref": "#/$defs/AllocationCalculateEventEventPayload"
},
"event_id": {
"$ref": "#/$defs/EventID"
},
"msg_number": {
"$ref": "#/$defs/MsgNumber"
},
"msg_type": {
"type": "string",
"enum": [
"allocation_update"
]
},
"summary": {
"$ref": "#/$defs/AllocationSummary"
}
},
"title": "Allocation Calculate Event"
},
"AllocationCalculateEventEventPayload": {
"type": "object",
"properties": {
"account_allocations": {
"type": "array",
"items": {
"$ref": "#/$defs/AccountAllocationDetails"
}
},
"allocation_id": {
"$ref": "#/$defs/AllocationID"
},
"allocation_strategy": {
"$ref": "#/$defs/AllocationStrategy"
},
"client_allocation_id": {
"$ref": "#/$defs/ClientAllocationID"
},
"client_order_id": {
"type": "string"
},
"custodian_id": {
"type": "string"
},
"event_type": {
"type": "string",
"enum": [
"allocation_calculate"
],
"x-enum-varnames": [
"EventTypeAllocationCalculate"
]
},
"ib_id": {
"type": "string"
},
"order_id": {
"type": "string"
},
"risk_group_id": {
"type": "string"
},
"time": {
"type": "string",
"format": "date-time"
},
"trades": {
"type": "array",
"items": {
"$ref": "#/$defs/AllocationTrade"
}
}
}
},
"AllocationCancelEvent": {
"type": "object",
"properties": {
"event": {
"$ref": "#/$defs/AllocationCancelEventEventPayload"
},
"event_id": {
"$ref": "#/$defs/EventID"
},
"msg_number": {
"$ref": "#/$defs/MsgNumber"
},
"msg_type": {
"type": "string",
"enum": [
"allocation_update"
]
},
"summary": {
"$ref": "#/$defs/AllocationSummary"
}
},
"title": "Allocation Cancel Event"
},
"AllocationCancelEventEventPayload": {
"type": "object",
"properties": {
"allocation_id": {
"$ref": "#/$defs/AllocationID"
},
"client_allocation_id": {
"$ref": "#/$defs/ClientAllocationID"
},
"code": {
"type": "number"
},
"event_type": {
"type": "string",
"enum": [
"allocation_cancel"
],
"x-enum-varnames": [
"EventTypeAllocationCancel"
]
},
"reason": {
"type": "string"
},
"time": {
"type": "string",
"format": "date-time"
}
}
},
"AllocationCreateEvent": {
"type": "object",
"properties": {
"event": {
"$ref": "#/$defs/AllocationCreateEventEventPayload"
},
"event_id": {
"$ref": "#/$defs/EventID"
},
"msg_number": {
"$ref": "#/$defs/MsgNumber"
},
"msg_type": {
"type": "string",
"enum": [
"allocation_update"
]
},
"summary": {
"$ref": "#/$defs/AllocationSummary"
}
},
"title": "Allocation Create Event"
},
"AllocationCreateEventEventPayload": {
"type": "object",
"properties": {
"allocation_id": {
"$ref": "#/$defs/AllocationID"
},
"allocation_strategy": {
"$ref": "#/$defs/AllocationStrategy"
},
"client_allocation_id": {
"$ref": "#/$defs/ClientAllocationID"
},
"client_order_id": {
"type": "string"
},
"custodian_id": {
"type": "string"
},
"event_type": {
"type": "string",
"enum": [
"allocation_create"
],
"x-enum-varnames": [
"EventTypeAllocationCreate"
]
},
"ib_id": {
"$ref": "#/$defs/IntroducingBrokerID"
},
"order_id": {
"type": "string"
},
"risk_group_id": {
"type": "string"
},
"time": {
"type": "string",
"format": "date-time"
}
}
},
"AllocationFailEvent": {
"type": "object",
"properties": {
"event": {
"$ref": "#/$defs/AllocationFailEventEventPayload"
},
"event_id": {
"$ref": "#/$defs/EventID"
},
"msg_number": {
"$ref": "#/$defs/MsgNumber"
},
"msg_type": {
"type": "string",
"enum": [
"allocation_update"
]
},
"summary": {
"$ref": "#/$defs/AllocationSummary"
}
},
"title": "Allocation Fail Event"
},
"AllocationFailEventEventPayload": {
"type": "object",
"properties": {
"allocation_id": {
"$ref": "#/$defs/AllocationID"
},
"client_allocation_id": {
"$ref": "#/$defs/ClientAllocationID"
},
"code": {
"description": "The error code for the failure.",
"type": "number"
},
"event_type": {
"type": "string",
"enum": [
"allocation_fail"
],
"x-enum-varnames": null
},
"reason": {
"description": "The reason for the failure.",
"type": "string"
},
"time": {
"type": "string",
"format": "date-time"
}
}
},
"AllocationID": {
"description": "Unique, Moment-generated ID for the allocation.",
"type": "string",
"title": "Allocation ID"
},
"AllocationRejectEvent": {
"type": "object",
"properties": {
"event": {
"$ref": "#/$defs/AllocationRejectEventEventPayload"
},
"event_id": {
"$ref": "#/$defs/EventID"
},
"msg_number": {
"$ref": "#/$defs/MsgNumber"
},
"msg_type": {
"type": "string",
"enum": [
"allocation_update"
]
},
"summary": {
"$ref": "#/$defs/AllocationSummary"
}
},
"title": "Allocation Reject Event"
},
"AllocationRejectEventEventPayload": {
"type": "object",
"properties": {
"allocation_id": {
"$ref": "#/$defs/AllocationID"
},
"client_allocation_id": {
"$ref": "#/$defs/ClientAllocationID"
},
"code": {
"type": "number"
},
"event_type": {
"type": "string",
"enum": [
"allocation_reject"
],
"x-enum-varnames": [
"EventTypeAllocationReject"
]
},
"reason": {
"type": "string"
},
"time": {
"type": "string",
"format": "date-time"
}
}
},
"AllocationRequest": {
"title": "Allocation Request",
"type": "object",
"required": [
"strategy",
"client_allocation_id",
"account_allocations"
],
"properties": {
"strategy": {
"type": "string",
"enum": [
"fifo_without_averaging",
"fifo_with_averaging",
"pro_rata_with_averaging"
],
"description": "Strategy for allocation. Determines how the block's filled quantity is distributed across requested accounts.\n- `fifo_without_averaging`: allocates on a first-in, first-out basis without averaging; preserves individual trade prices per allocation.\n- `fifo_with_averaging`: allocates first-in, first-out and applies the block's average fill price to each allocation.\n- `pro_rata_with_averaging`: allocates pro-rata across requested accounts and applies the block's average fill price. Typically used for equity and ETF block orders.\n\n**RIA accounts must use `fifo_without_averaging`.** The averaging\nstrategies (`fifo_with_averaging`, `pro_rata_with_averaging`) require a\nprincipal/averaging trading account to average executions before they are\nbooked to client accounts. RIAs trade in an agency capacity and must report\nthe actual street-execution prices and quantities to their custodian (e.g.\nSchwab), so each allocation has to match a real executed trade. Because there\nis no averaging account to absorb the difference, averaged allocation is not\navailable to RIAs — only the non-averaging FIFO strategy, which preserves the\ntrue per-trade execution prices, is supported.\n"
},
"client_allocation_id": {
"type": "string",
"description": "Client-provided ID for the allocation",
"x-go-name": "ClientAllocationID"
},
"account_allocations": {
"type": "array",
"description": "Account allocations for an individual order",
"items": {
"$ref": "#/$defs/AllocationAccountRequest"
}
}
}
},
"AllocationStatus": {
"type": "string",
"enum": [
"created",
"approved",
"rejected",
"calculated",
"submitted",
"failed",
"canceled"
],
"title": "Allocation Status",
"x-enum-varnames": [
"AllocationStatusCreated",
"AllocationStatusApproved",
"AllocationStatusRejected",
"AllocationStatusCalculated",
"AllocationStatusSubmitted",
"AllocationStatusFailed",
"AllocationStatusCanceled"
]
},
"AllocationStrategy": {
"description": "The allocation strategy to use for the order. The allocation strategy must be valid for the custodian and determines how the order is allocated across multiple accounts.\n-\t`fifo_without_averaging`\n Allocates the filled quantity on a first-in, first-out basis (FIFO) without averaging; maintaining the individual trade prices for each allocation.\n-\t`fifo_with_averaging`\n Allocates the filled quantity on a first-in, first-out basis (FIFO) and applies the block's average fill price to each allocation.\n-\t`pro_rata_with_averaging`\n Allocates the filled quantity pro-rata across requested accounts and applies the block's average fill price to each allocation. Typically used for equity and ETF block orders.",
"type": "string",
"enum": [
"fifo_without_averaging",
"fifo_with_averaging",
"pro_rata_with_averaging"
],
"title": "Allocation Strategy"
},
"AllocationSubmitEvent": {
"type": "object",
"properties": {
"event": {
"$ref": "#/$defs/AllocationSubmitEventEventPayload"
},
"event_id": {
"$ref": "#/$defs/EventID"
},
"msg_number": {
"$ref": "#/$defs/MsgNumber"
},
"msg_type": {
"type": "string",
"enum": [
"allocation_update"
]
},
"summary": {
"$ref": "#/$defs/AllocationSummary"
}
},
"title": "Allocation Submit Event"
},
"AllocationSubmitEventEventPayload": {
"type": "object",
"properties": {
"allocation_id": {
"$ref": "#/$defs/AllocationID"
},
"client_allocation_id": {
"$ref": "#/$defs/ClientAllocationID"
},
"custodian_id": {
"type": "string"
},
"event_type": {
"type": "string",
"enum": [
"allocation_submit"
],
"x-enum-varnames": [
"EventTypeAllocationSubmit"
]
},
"time": {
"type": "string",
"format": "date-time"
}
}
},
"AllocationSummary": {
"type": "object",
"properties": {
"account_allocations": {
"type": "array",
"items": {
"$ref": "#/$defs/AccountAllocationDetails"
}
},
"account_requests": {
"type": "array",
"items": {
"$ref": "#/$defs/AccountAllocationRequest"
}
},
"calculated_at": {
"description": "The time at which the allocation was calculated.",
"type": [
"string",
"null"
],
"format": "date-time"
},
"client_allocation_id": {
"$ref": "#/$defs/ClientAllocationID"
},
"client_order_id": {
"$ref": "#/$defs/ClientOrderID"
},
"custodian_id": {
"$ref": "#/$defs/CustodianID"
},
"ib_id": {
"$ref": "#/$defs/IntroducingBrokerID"
},
"id": {
"$ref": "#/$defs/AllocationID"
},
"order_id": {
"$ref": "#/$defs/OrderID"
},
"risk_group_id": {
"description": "The risk group ID used for this allocation.",
"type": "string"
},
"status": {
"$ref": "#/$defs/AllocationStatus"
},
"strategy": {
"$ref": "#/$defs/AllocationStrategy"
},
"submitted_at": {
"description": "The time at which the allocation was submitted to the custodian for booking.",
"type": [
"string",
"null"
],
"format": "date-time"
},
"trades": {
"type": "array",
"items": {
"$ref": "#/$defs/AllocationTrade"
}
}
},
"title": "Allocation Summary"
},
"AllocationTrade": {
"type": "object",
"properties": {
"accrued_interest": {
"description": "The pro-rated coupon payment that will be either paid or received when the trade is settled. Expressed in USD.",
"type": "number"
},
"amount": {
"$ref": "#/$defs/OrderSize"
},
"net_money": {
"description": "Actual cash flow of the order.",
"type": "number"
},
"pre_fee_net_money": {
"description": "Net money of the order before fees are applied.",
"type": "number"
},
"price": {
"$ref": "#/$defs/LimitPrice"
},
"venue_execution_id": {
"description": "The identifier for the trade as provided by the venue.",
"type": "string"
},
"venue_mpid": {
"description": "The Market Participant Identifier (MPID) of the venue where the trade was executed.",
"type": "string"
}
},
"title": "Allocation Trade"
},
"Annotation": {
"description": "Client-provided custom metadata for the order.",
"type": "string",
"maxLength": 1024,
"title": "annotation"
},
"ApproveEvent": {
"type": "object",
"properties": {
"event": {
"$ref": "#/$defs/ApproveEventEventPayload"
},
"event_id": {
"$ref": "#/$defs/EventID"
},
"msg_number": {
"$ref": "#/$defs/MsgNumber"
},
"msg_type": {
"type": "string",
"enum": [
"order_update"
]
},
"order": {
"$ref": "#/$defs/Order"
}
},
"title": "Approve Event"
},
"ApproveEventEventPayload": {
"type": "object",
"properties": {
"client_order_id": {
"type": "string"
},
"event_type": {
"type": "string",
"enum": [
"approve"
],
"x-enum-varnames": [
"EventTypeApprove"
]
},
"order_id": {
"type": "string"
},
"time": {
"type": "string",
"format": "date-time"
}
}
},
"BookingType": {
"type": "string",
"title": "BookingType",
"description": "The booking type for the account.",
"enum": [
"cash",
"margin"
],
"x-enumNames": [
"BookingTypeCash",
"BookingTypeMargin"
]
},
"CancelAllocationRejectEvent": {
"type": "object",
"properties": {
"event": {
"$ref": "#/$defs/CancelAllocationRejectEventEventPayload"
},
"event_id": {
"$ref": "#/$defs/EventID"
},
"msg_number": {
"$ref": "#/$defs/MsgNumber"
},
"msg_type": {
"type": "string",
"enum": [
"system_update"
]
}
},
"title": "Cancel Allocation Reject Event"
},
"CancelAllocationRejectEventEventPayload": {
"type": "object",
"properties": {
"allocation_id": {
"$ref": "#/$defs/AllocationID"
},
"cancel_reject_code": {
"type": "number"
},
"cancel_reject_reason": {
"type": "string"
},
"cancel_request_id": {
"type": "string"
},
"event_type": {
"type": "string",
"enum": [
"cancel_allocation_reject"
],
"x-enum-varnames": [
"EventTypeCancelAllocationReject"
]
},
"order_id": {
"description": "The ID of the parent order.",
"type": "string"
},
"time": {
"type": "string",
"format": "date-time"
}
}
},
"CancelAllocationRequestEvent": {
"type": "object",
"properties": {
"event": {
"$ref": "#/$defs/CancelAllocationRequestEventEventPayload"
},
"event_id": {
"$ref": "#/$defs/EventID"
},
"msg_number": {
"$ref": "#/$defs/MsgNumber"
},
"msg_type": {
"type": "string",
"enum": [
"system_update"
]
}
},
"title": "Cancel Allocation Request Event"
},
"CancelAllocationRequestEventEventPayload": {
"type": "object",
"properties": {
"allocation_id": {
"$ref": "#/$defs/AllocationID"
},
"cancel_request_id": {
"type": "string"
},
"event_type": {
"type": "string",
"enum": [
"cancel_allocation_request"
],
"x-enum-varnames": [
"EventTypeCancelAllocationRequest"
]
},
"order_id": {
"description": "The ID of the parent order.",
"type": "string"
},
"source": {
"type": "string"
},
"time": {
"type": "string",
"format": "date-time"
}
}
},
"CancelEvent": {
"type": "object",
"properties": {
"event": {
"$ref": "#/$defs/CancelEventEventPayload"
},
"event_id": {
"$ref": "#/$defs/EventID"
},
"msg_number": {
"$ref": "#/$defs/MsgNumber"
},
"msg_type": {
"type": "string",
"enum": [
"order_update"
]
},
"order": {
"$ref": "#/$defs/Order"
}
},
"title": "Cancel Event"
},
"CancelEventEventPayload": {
"type": "object",
"properties": {
"cancel_code": {
"type": "number"
},
"cancel_reason": {
"type": "string"
},
"client_order_id": {
"type": "string"
},
"event_type": {
"type": "string",
"enum": [
"cancel"
],
"x-enum-varnames": [
"EventTypeCancel"
]
},
"order_id": {
"type": "string"
},
"time": {
"type": "string",
"format": "date-time"
}
}
},
"CancelRejectEvent": {
"type": "object",
"properties": {
"event": {
"$ref": "#/$defs/CancelRejectEventEventPayload"
},
"event_id": {
"$ref": "#/$defs/EventID"
},
"msg_number": {
"$ref": "#/$defs/MsgNumber"
},
"msg_type": {
"type": "string",
"enum": [
"sys
# --- truncated at 32 KB (110 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/moment/refs/heads/main/json-schema/moment-event-data-schema.json
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/moment-event-data"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.