POST
/
v1
/
recommendations
/
trade
Create a portfolio trade recommendation
curl --request POST \
  --url https://api.endaoment.org/v1/recommendations/trade \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "issuerEntityId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "portfolioId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "issuerEntityType": "org",
  "amountUsdc": "100000000",
  "tradeType": "Buy",
  "slippageToleranceBps": 50,
  "isMax": false,
  "collaboratingFundId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}'
{
  "id": "123e4567-e89b-12d3-a456-426614174000"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
issuerEntityId
string<uuid>
required

Id of the entity issuing the trade

portfolioId
string<uuid>
required

ID of the Portfolio to assemble the trade for

issuerEntityType
enum<string>
required

Type of the entity issuing the Trade

Available options:
org,
fund
amountUsdc
string
required

Amount of the trade in USDC (smallest unit)

Example:

"100000000"

tradeType
enum<string>
required

Type of trade

Available options:
Buy,
Sell
uuid
string<uuid>
required

Unique identifier for the recommendation. Generated on the client side to ensure idempotency.

slippageToleranceBps
number

Slippage tolerance for the trade in basis points (bps). Defaults to maximum slippage.

Example:

50

isMax
boolean

Whether the trade is a max trade, ignoring the amountUsdc value

Example:

false

collaboratingFundId
string<uuid>

ID of the fund that the advisor is collaborating with

Response

Portfolio trade recommendation successfully created

id
string
required

The recommendation id

Example:

"123e4567-e89b-12d3-a456-426614174000"