Submit Position Instructions
client.V1.Positions.SubmitPositionInstructions(ctx, accountID, body) (*V1PositionSubmitPositionInstructionsResponse, error)
POST/v1/accounts/{account_id}/positions/instructions
Submit one or more position instructions (Exercise, Do-Not-Exercise, Contrary Exercise Advice) against the account.
Batch semantics:
- All rows accepted →
200 OK. Every row is indatawithstatus = SENT. - Partial success →
207 Multi-Status.datacontains every row; rejected rows carrystatus = ENGINE_REJECTED(orREJECTED) andrejection_reason. The top-levelerrorsummarizes the batch failure. - All rows rejected →
4xx/5xxerror response. The HTTP status reflects the underlying cause:409for duplicateinstruction_id,400for validation failures such as DNE/CEA on a non-expiry day,503if the clearing service is unavailable. Nodatais returned.
Pre-flight validation (unknown instrument_id, unencodable
quantity) short-circuits the whole batch with a 4xx before any
row is submitted.
Submit Position Instructions
package main
import (
"context"
"fmt"
"github.com/clear-street/clear-street-go"
"github.com/clear-street/clear-street-go/option"
)
func main() {
client := clearstreet.NewClient(
option.WithAPIKey("My API Key"),
)
response, err := client.V1.Positions.SubmitPositionInstructions(
context.TODO(),
0,
clearstreet.V1PositionSubmitPositionInstructionsParams{
Instructions: []clearstreet.V1PositionSubmitPositionInstructionsParamsInstruction{clearstreet.V1PositionSubmitPositionInstructionsParamsInstruction{
InstructionType: clearstreet.PositionInstructionTypeExercise,
InstrumentID: "0195f6d0-a1b2-7c3d-8e4f-5a6b7c8d9e02",
Quantity: "1",
}},
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response)
}
{
"data": [
{
"account_id": 122503,
"id": "0195f6d0-a1b2-7c3d-8e4f-5a6b7c8d9e02",
"instruction_id": "ui-20260424-001",
"instruction_type": "EXERCISE",
"instrument_id": "0195f6d0-a1b2-7c3d-8e4f-5a6b7c8d9e01",
"quantity": "1",
"status": "SENT",
"symbol": "AAPL 280121C00195000"
}
],
"metadata": {
"request_id": "0a5c9ebf-a9a7-4f2d-9c7e-f2b5f0b1bd01"
}
}{
"data": [
{
"account_id": 122503,
"id": "0195f6d0-a1b2-7c3d-8e4f-5a6b7c8d9e02",
"instruction_id": "ui-20260424-001",
"instruction_type": "EXERCISE",
"instrument_id": "0195f6d0-a1b2-7c3d-8e4f-5a6b7c8d9e01",
"quantity": "1",
"status": "SENT",
"symbol": "AAPL 280121C00195000"
},
{
"account_id": 122503,
"id": "00000000-0000-0000-0000-000000000000",
"instruction_id": "ui-20260424-001",
"instruction_type": "EXERCISE",
"instrument_id": "0195f6d0-a1b2-7c3d-8e4f-5a6b7c8d9e01",
"quantity": "1",
"rejection_reason": "Duplicate exercise instruction",
"status": "ENGINE_REJECTED",
"symbol": "AAPL 280121C00195000"
}
],
"error": {
"code": 409,
"message": "Duplicate exercise instruction"
},
"metadata": {
"request_id": "0a5c9ebf-a9a7-4f2d-9c7e-f2b5f0b1bd02"
}
}{
"error": {
"code": 400,
"message": "DO_NOT_EXERCISE must be submitted on the contract's expiration date"
},
"metadata": {
"request_id": "0a5c9ebf-a9a7-4f2d-9c7e-f2b5f0b1bd03"
}
}{
"error": {
"code": 409,
"message": "Duplicate exercise instruction"
},
"metadata": {
"request_id": "0a5c9ebf-a9a7-4f2d-9c7e-f2b5f0b1bd04"
}
}Returns Examples
{
"data": [
{
"account_id": 122503,
"id": "0195f6d0-a1b2-7c3d-8e4f-5a6b7c8d9e02",
"instruction_id": "ui-20260424-001",
"instruction_type": "EXERCISE",
"instrument_id": "0195f6d0-a1b2-7c3d-8e4f-5a6b7c8d9e01",
"quantity": "1",
"status": "SENT",
"symbol": "AAPL 280121C00195000"
}
],
"metadata": {
"request_id": "0a5c9ebf-a9a7-4f2d-9c7e-f2b5f0b1bd01"
}
}{
"data": [
{
"account_id": 122503,
"id": "0195f6d0-a1b2-7c3d-8e4f-5a6b7c8d9e02",
"instruction_id": "ui-20260424-001",
"instruction_type": "EXERCISE",
"instrument_id": "0195f6d0-a1b2-7c3d-8e4f-5a6b7c8d9e01",
"quantity": "1",
"status": "SENT",
"symbol": "AAPL 280121C00195000"
},
{
"account_id": 122503,
"id": "00000000-0000-0000-0000-000000000000",
"instruction_id": "ui-20260424-001",
"instruction_type": "EXERCISE",
"instrument_id": "0195f6d0-a1b2-7c3d-8e4f-5a6b7c8d9e01",
"quantity": "1",
"rejection_reason": "Duplicate exercise instruction",
"status": "ENGINE_REJECTED",
"symbol": "AAPL 280121C00195000"
}
],
"error": {
"code": 409,
"message": "Duplicate exercise instruction"
},
"metadata": {
"request_id": "0a5c9ebf-a9a7-4f2d-9c7e-f2b5f0b1bd02"
}
}{
"error": {
"code": 400,
"message": "DO_NOT_EXERCISE must be submitted on the contract's expiration date"
},
"metadata": {
"request_id": "0a5c9ebf-a9a7-4f2d-9c7e-f2b5f0b1bd03"
}
}{
"error": {
"code": 409,
"message": "Duplicate exercise instruction"
},
"metadata": {
"request_id": "0a5c9ebf-a9a7-4f2d-9c7e-f2b5f0b1bd04"
}
}