v1
latestOpenAPI 3.1.02026-07-241653251.3 MBPartial sell
Executes a partial sell for one or more existing Traders. amount is the fiat the Trader wants back; sells are sized proportionally to the supplied allocations. Asynchronous. PartialSell does NOT produce skipped outcomes — a participant whose per-asset slice falls below the instrument minimum gets an Execution with status: "rejected" and status_reason: "below_instrument_minimum".
Path parameters
Unique identifier of the Strategy.
Headers
HMAC-SHA256 signature of the request, base64-encoded. See the Authentication guide for the exact signing formula.
Current Unix timestamp in seconds. Must be within 60 seconds of server time or the request is rejected.
Request body
Example request
{
"allocations": [
{
"underlying_currency": "BTC",
"weight": "0.50"
}
],
"participants": [
{
"participant_code": "CUST01",
"amount": "3000.00"
}
]
}Response
Operation accepted and queued for processing. Body is the Operation in its initial validating status. Poll GET /strategies/operations/{operation_id} or subscribe to webhooks to observe the terminal status. On idempotent re-submission the existing Operation is returned and the status code may be 200 instead.
Example response
{
"message": {
"id": "b1c2d3e4-f5a6-4789-bcde-f01234567890",
"strategy_id": "b1c2d3e4-f5a6-4789-bcde-f01234567890",
"request_id": "b1c2d3e4-f5a6-4789-bcde-f01234567890",
"type": "enrollment",
"status": "validating",
"allocations": [
{
"underlying_currency": "BTC",
"weight": "0.50"
}
],
"created_at": "2026-04-17T10:00:00Z",
"updated_at": "2026-04-17T10:00:00Z"
}
}