---
title: "Operator close all venue positions for an agent"
method: POST
path: "/v1/trade/{venue}/close-all"
tags: ["Trading"]
---

# Operator close all venue positions for an agent

`POST /v1/trade/{venue}/close-all`

## Request

- Base URL: `http://localhost:3200`
- URL: `http://localhost:3200/v1/trade/{venue}/close-all`
- Auth: one of:
  - API key in header `X-Steward-Platform-Key`
  - API key in header `X-Steward-API-Key`
  - HTTP bearer
- TypeScript: <https://skmtc.dev/steward-fi/apis/steward-api/docs/v1/trade/:venue/close-all/post.ts> (a function with typed inputs; its response is checked against the schema)

Operator recovery endpoint. Auth deliberately accepts platform operators or tenant admins and must not require an agent JWT, so humans can recover funds when the agent token is expired. Raw signing keys never leave the vault; all recovery actions are audited and idempotency-protected. Every per-coin close result is audited so the recovery action remains traceable.

## Headers

- `X-Steward-Request-Timestamp` string
- `X-Steward-Request-Expires-At` string
- `X-Steward-Signature` string
- `X-Steward-Signing-Key-Id` string
- `Idempotency-Key` string

## Request body

- object
  - `agentId` string, required
  - `idempotencyKey` string

## Response `200`

JSON response

- object
  - `ok` true, required
  - `data` object, required
    - `venue` 'hyperliquid'
    - `walletAddress` string
    - `closed` object[]

## Other responses

- `400`: JSON response
- `401`: JSON response
- `403`: JSON response
- `404`: JSON response
- `408`: JSON response
- `409`: JSON response
- `502`: JSON response

## Changes

- **2026-08-17** `261a7c8070b2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/steward-fi/apis/steward-api/changes/v1/trade/:venue/close-all/post.md)

---

[API](https://skmtc.dev/steward-fi/apis/steward-api.md) - [All operations](https://skmtc.dev/steward-fi/apis/steward-api/llms.txt) - [OpenAPI document](https://skmtc.dev/steward-fi/apis/steward-api/revisions/b88b4b97a664?raw)
