Polyrankdocs
ApiFollows

POST /v1/follows

Follow a trader, market or event. notify=true (default) is the bell: big-fill alerts for a trader, the event alerts for an event. An event's target_id is any slug of it; the response carries the canonical slug it was stored under. Event follows do not count against the trader follow cap; they have their own plan cap (`followed_events_max`: Free 3, paid 200) and past it the answer is 403 `forbidden` with the limit in the message. With alert settings on (ALERT_SETTINGS_ENABLED) the body may carry `alerts` (trader and event follows only) and the answer carries `uses_default` and `alerts`; without `alerts` a new follow uses the account default. Custom amounts on a plan without them are 403 `plan_required` with `feature: alerts_custom_thresholds`; an amount outside its bounds is 400 `invalid_custom` with `field`; a kind of another follow type is 400 `invalid_kind`. A refused request writes nothing.

POST
/v1/follows

Follow a trader, market or event. notify=true (default) is the bell: big-fill alerts for a trader, the event alerts for an event. An event's target_id is any slug of it; the response carries the canonical slug it was stored under. Event follows do not count against the trader follow cap; they have their own plan cap (followed_events_max: Free 3, paid 200) and past it the answer is 403 forbidden with the limit in the message. With alert settings on (ALERT_SETTINGS_ENABLED) the body may carry alerts (trader and event follows only) and the answer carries uses_default and alerts; without alerts a new follow uses the account default. Custom amounts on a plan without them are 403 plan_required with feature: alerts_custom_thresholds; an amount outside its bounds is 400 invalid_custom with field; a kind of another follow type is 400 invalid_kind. A refused request writes nothing.

AuthorizationBearer <token>

API key: Authorization: Bearer pk_live_… (mint at polyrank.app/api-keys)

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/follows" \  -H "Content-Type: application/json" \  -d '{    "target_type": "trader",    "target_id": "string"  }'
{  "target_type": "trader",  "target_id": "string",  "notify": true,  "created_at": "string",  "event": {    "slug": "string",    "title": "string",    "image_url": "string",    "questions": -9007199254740991,    "open_questions": -9007199254740991,    "status": "open"  },  "uses_default": true,  "alerts": {    "kinds": [      "trader_fill"    ],    "level": "quiet",    "custom": {      "min_trade_usd": -9007199254740991,      "price_move_points": -9007199254740991    }  }}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}