## List Position Instructions `PositionGetPositionInstructionsResponse v1().positions().getPositionInstructions(PositionGetPositionInstructionsParamsparams = PositionGetPositionInstructionsParams.none(), RequestOptionsrequestOptions = RequestOptions.none())` **get** `/v1/accounts/{account_id}/positions/instructions` Returns the current lifecycle state of the account's position instructions. Optionally filter by a specific contract. ### Parameters - `PositionGetPositionInstructionsParams params` - `Optional accountId` - `Optional instrumentId` Limit results to a single contract. Accepts the instrument id or the OSI symbol. ### Returns - `class PositionGetPositionInstructionsResponse:` - `List data` - `String id` Server-assigned id. Used as the path parameter on cancel. - `long accountId` Account the instruction belongs to. - `String instructionId` Caller-supplied idempotency key echoed from the submit request; the server-assigned fallback when none was supplied. - `PositionInstructionType instructionType` The action this instruction requests. - `EXERCISE("EXERCISE")` - `DO_NOT_EXERCISE("DO_NOT_EXERCISE")` - `CONTRARY_EXERCISE("CONTRARY_EXERCISE")` - `String instrumentId` Identifier of the options contract this instruction acts on. - `String quantity` Number of contracts included in the instruction. - `PositionInstructionStatus status` Current lifecycle status. - `SENT("SENT")` - `ACCEPTED("ACCEPTED")` - `REJECTED("REJECTED")` - `ENGINE_REJECTED("ENGINE_REJECTED")` - `CANCEL_REQUESTED("CANCEL_REQUESTED")` - `CANCELLED("CANCELLED")` - `CANCEL_FAILED("CANCEL_FAILED")` - `UNKNOWN("UNKNOWN")` - `String symbol` Options symbol (OSI) for display. - `Optional acceptedQuantity` Number of contracts accepted by the clearing venue. Populated once the instruction reaches `ACCEPTED`. - `Optional createdAt` When the instruction was first accepted by the service. - `Optional rejectionReason` 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. - `Optional updatedAt` When the instruction's lifecycle state last changed. ### Example ```java package com.clear_street.api.example; import com.clear_street.api.client.ClearStreetClient; import com.clear_street.api.client.okhttp.ClearStreetOkHttpClient; import com.clear_street.api.models.v1.positions.PositionGetPositionInstructionsParams; import com.clear_street.api.models.v1.positions.PositionGetPositionInstructionsResponse; public final class Main { private Main() {} public static void main(String[] args) { ClearStreetClient client = ClearStreetOkHttpClient.builder() .fromEnv() .apiKey("My API Key") .build(); PositionGetPositionInstructionsResponse response = client.v1().positions().getPositionInstructions(0L); } } ``` #### Response ```json { "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" } ] } ```