---
title: "Execute exchange action"
method: POST
path: "/exchange"
tags: ["hyperliquid"]
---

# Execute exchange action

`POST /exchange`

## Request

- Base URL: `https://api.copper.co/platform`
- URL: `https://api.copper.co/platform/exchange`
- Auth: none declared
- TypeScript: <https://skmtc.dev/copper-co/apis/copper-platform-api/docs/exchange/post.ts> (a function with typed inputs; its response is checked against the schema)

Execute Hyperliquid exchange action. Mimics https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint

## Request body

- HyperliquidExchangeRequest
  - `action` L1Action
  - `organizationId` string: Your Copper organisation identifier
  - `portfolioId` string: The specific portfolio from which the trade should be executed

## Response `200`

OK

- HyperliquidExchangeResponse

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `409`: Conflict

---

[API](https://skmtc.dev/copper-co/apis/copper-platform-api.md) - [All operations](https://skmtc.dev/copper-co/apis/copper-platform-api/llms.txt) - [OpenAPI document](https://skmtc.dev/copper-co/apis/copper-platform-api/revisions/44296120fc7d?raw)
