OpenSkin API endpoint

Create a trade instruction

POST /v2/trade-intents

Creates a saved create_offer or accept_offer instruction after validating policy, inventory, and valuation. Outgoing assets are reserved in the same transaction.

Authentication

Send a Platform API key with permission to use this endpoint in the X-API-Key header.

Parameters

NameLocationRequiredDescription
Idempotency-KeyheaderYesSee the OpenAPI schema for accepted values.

Request body

The example includes every required JSON field. Open OpenAPI JSON to see optional fields, accepted values, and limits.

Response meaning

201
Validated draft intent and outgoing asset reservations
400
Invalid intent
401
V2Unauthorized
403
V2Forbidden
409
Idempotency, external-reference, target-offer, or asset-reservation conflict

Request example

EXPIRES_AT=$(node -p "new Date(Date.now() + 10 * 60 * 1000).toISOString()")
curl 'https://api-v2.openskin.dev/v2/trade-intents'\
  -X POST\
  -H 'X-API-Key: osk_live_...' \
  -H 'Idempotency-Key: order-1842-create' \
  -H 'Content-Type: application/json' \
  --data "{\"kind\":\"accept_offer\",\"account_id\":1,\"external_reference\":\"order-1842\",\"target_trade_id\":\"00000000-0000-4000-8000-000000000000\",\"expires_at\":\"$EXPIRES_AT\"}"

Limits and retries

Check the listed status codes before retrying. If a request uses a unique request key, reuse that key only when repeating the same request. If a list returns next_cursor, send it unchanged in the next request.

Last updated .