Skip to content
Get started

Cancel Position Instruction

client.V1.Positions.CancelPositionInstruction(ctx, instructionID, body) (*V1PositionCancelPositionInstructionResponse, error)
DELETE/v1/accounts/{account_id}/positions/instructions/{instruction_id}

Cancel an outstanding position instruction by its server-assigned id. Returns the updated instruction with status CANCEL_REQUESTED. The terminal CANCELLED or CANCEL_FAILED state arrives asynchronously and is observable via subsequent GETs.

ParametersExpand Collapse
instructionID string
body V1PositionCancelPositionInstructionParams
AccountID param.Field[int64]

Account identifier

formatint64
ReturnsExpand Collapse
type V1PositionCancelPositionInstructionResponse struct{…}

A position instruction and its current lifecycle state.

ID string

Server-assigned id. Used as the path parameter on cancel.

formatuuid
AccountID int64

Account the instruction belongs to.

formatint64
InstructionID string

Caller-supplied idempotency key echoed from the submit request; the server-assigned fallback when none was supplied.

InstructionType PositionInstructionType

The action this instruction requests.

One of the following:
const PositionInstructionTypeExercise PositionInstructionType = "EXERCISE"
const PositionInstructionTypeDoNotExercise PositionInstructionType = "DO_NOT_EXERCISE"
const PositionInstructionTypeContraryExercise PositionInstructionType = "CONTRARY_EXERCISE"
InstrumentID string

Identifier of the options contract this instruction acts on.

formatuuid
Quantity string

Number of contracts included in the instruction.

Current lifecycle status.

One of the following:
const PositionInstructionStatusSent PositionInstructionStatus = "SENT"
const PositionInstructionStatusAccepted PositionInstructionStatus = "ACCEPTED"
const PositionInstructionStatusRejected PositionInstructionStatus = "REJECTED"
const PositionInstructionStatusEngineRejected PositionInstructionStatus = "ENGINE_REJECTED"
const PositionInstructionStatusCancelRequested PositionInstructionStatus = "CANCEL_REQUESTED"
const PositionInstructionStatusCancelled PositionInstructionStatus = "CANCELLED"
const PositionInstructionStatusCancelFailed PositionInstructionStatus = "CANCEL_FAILED"
const PositionInstructionStatusUnknown PositionInstructionStatus = "UNKNOWN"
Symbol string

Options symbol (OSI) for display.

AcceptedQuantity stringOptional

Number of contracts accepted by the clearing venue. Populated once the instruction reaches ACCEPTED.

CreatedAt TimeOptional

When the instruction was first accepted by the service.

formatdate-time
RejectionReason stringOptional

Human-readable explanation populated on any non-success terminal status — REJECTED, ENGINE_REJECTED, or CANCEL_FAILED. On a 207 Multi-Status batch submit the top-level error field summarizes the batch; per-row detail continues to live here.

UpdatedAt TimeOptional

When the instruction’s lifecycle state last changed.

formatdate-time

Cancel Position Instruction

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.CancelPositionInstruction(
    context.TODO(),
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    clearstreet.V1PositionCancelPositionInstructionParams{
      AccountID: 0,
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response)
}
{
  "metadata": {
    "request_id": "request_id",
    "next_page_token": "U3RhaW5sZXNzIHJvY2tz",
    "page_number": 0,
    "previous_page_token": "U3RhaW5sZXNzIHJvY2tz",
    "total_items": 0,
    "total_pages": 0
  },
  "error": {
    "code": 400,
    "message": "Order quantity must be greater than zero",
    "details": [
      {
        "foo": "bar"
      }
    ]
  },
  "data": {
    "id": "0195f6d0-a1b2-7c3d-8e4f-5a6b7c8d9e02",
    "account_id": 122503,
    "instruction_id": "ui-20260424-001",
    "instruction_type": "EXERCISE",
    "instrument_id": "0195f6d0-a1b2-7c3d-8e4f-5a6b7c8d9e02",
    "quantity": "1",
    "status": "SENT",
    "symbol": "AAPL  280121C00195000",
    "accepted_quantity": null,
    "created_at": "2026-04-24T14:30:00Z",
    "rejection_reason": null,
    "updated_at": "2026-04-24T14:30:00Z"
  }
}
Returns Examples
{
  "metadata": {
    "request_id": "request_id",
    "next_page_token": "U3RhaW5sZXNzIHJvY2tz",
    "page_number": 0,
    "previous_page_token": "U3RhaW5sZXNzIHJvY2tz",
    "total_items": 0,
    "total_pages": 0
  },
  "error": {
    "code": 400,
    "message": "Order quantity must be greater than zero",
    "details": [
      {
        "foo": "bar"
      }
    ]
  },
  "data": {
    "id": "0195f6d0-a1b2-7c3d-8e4f-5a6b7c8d9e02",
    "account_id": 122503,
    "instruction_id": "ui-20260424-001",
    "instruction_type": "EXERCISE",
    "instrument_id": "0195f6d0-a1b2-7c3d-8e4f-5a6b7c8d9e02",
    "quantity": "1",
    "status": "SENT",
    "symbol": "AAPL  280121C00195000",
    "accepted_quantity": null,
    "created_at": "2026-04-24T14:30:00Z",
    "rejection_reason": null,
    "updated_at": "2026-04-24T14:30:00Z"
  }
}