For an overview of order groups and how they work, see Order Groups.Documentation Index
Fetch the complete documentation index at: https://docs.kalshi.com/llms.txt
Use this file to discover all available pages before exploring further.
Order Group Request (35=UOG)
Manage order groups with Create, Reset, Delete, Trigger, and Update operations.Required Fields
| Tag | Name | Description | Type/Values |
|---|---|---|---|
| 20131 | OrderGroupAction | Operation to perform | Create<1>, Reset<2>, Delete<3>, Trigger<4>, Update<5> |
Optional Fields
| Tag | Name | Description | Type/Values |
|---|---|---|---|
| 79 | AllocAccount | Subaccount number (0-32). When provided on any action, the request targets the order group belonging to that subaccount. Omit (or set to 0) to operate on the primary account. | Integer |
Order groups are scoped per subaccount. An
OrderGroupID created under AllocAccount=2 cannot be reset, updated, deleted, or triggered without also passing AllocAccount=2 on the follow-up request. If the AllocAccount value does not match the group’s owning subaccount, the exchange returns an ORDER_GROUP_NOT_FOUND business reject.Fields by Action
Create (Action=1)
| Tag | Name | Description | Required |
|---|---|---|---|
| 20132 | OrderGroupContractsLimit | Maximum contracts allowed (1-1,000,000) | Yes |
| 79 | AllocAccount | Subaccount number (0-32) to own the new group. | No |
The OrderGroupID is generated by the server and returned in the response. Do not include tag 20130 in Create requests.
Reset (Action=2)
| Tag | Name | Description | Required |
|---|---|---|---|
| 20130 | OrderGroupID | ID of group to reset | Yes |
| 79 | AllocAccount | Subaccount number (0-32) that owns the group. | No |
Delete (Action=3)
| Tag | Name | Description | Required |
|---|---|---|---|
| 20130 | OrderGroupID | ID of group to delete | Yes |
| 79 | AllocAccount | Subaccount number (0-32) that owns the group. | No |
Trigger (Action=4)
| Tag | Name | Description | Required |
|---|---|---|---|
| 20130 | OrderGroupID | ID of group to trigger | Yes |
| 79 | AllocAccount | Subaccount number (0-32) that owns the group. | No |
Update (Action=5)
| Tag | Name | Description | Required |
|---|---|---|---|
| 20130 | OrderGroupID | ID of group to update | Yes |
| 20132 | OrderGroupContractsLimit | New maximum contracts allowed (1-1,000,000) | Yes |
| 79 | AllocAccount | Subaccount number (0-32) that owns the group. | No |
If the updated limit would immediately trigger the group (based on the rolling 15-second window), the server cancels all
orders in the group and marks it as triggered. No new orders can be placed until the group is reset.
Create Order Group
Reset Order Group
Delete Order Group
Trigger Order Group
Update Order Group Limit
Create Order Group for subaccount 2
Order Group Response (35=UOH)
Response to order group management requests.Response Fields
| Tag | Name | Description |
|---|---|---|
| 20130 | OrderGroupID | ID of the order group |
| 20132 | OrderGroupContractsLimit | Current contracts limit (only echoed on Create and Update responses) |
| 79 | AllocAccount | Subaccount number (0-32) that owns the group |
Business-logic errors (e.g. order group not found, exchange-returned errors) are returned as BusinessMessageReject (35=j) messages. Malformed fields (e.g. invalid UUID format for OrderGroupID) produce a session-level Reject (35=3).