Skip to main content
POST
Preview an order at the user's stake (step 1 of 2)

Authorizations

Authorization
string
header
required

Personal API key issued per SeeSaw user account: Authorization: Bearer sspat_…. Manage keys on the app API (/v1/users/me/api-keys). Revocation propagates within ~60 seconds (validation cache window).

The key's scopes decide what it may do: every key has read; a key created with ["read","write"] may also use the six write operations (marked x-required-scope: write in this document). Scopes are fixed at creation — to get write access, create a new key. A read-only key calling a write operation gets 403 FORBIDDEN_SCOPE.

Path Parameters

id
string<uuid>
required

Topic UUID.

Body

application/json
option_id
string<uuid>
required

The option to stake on, from the topic's options.

amount_coins
integer

Coins to stake — a whole number within the topic's stake_rules (min_coins..max_coins). Pass the amount the user stated; if they did not state one, ask them first. Outside the range: 200 with can_place: false and reason STAKE_OUT_OF_RANGE (never adjusted). Must be a JSON integer: a quoted string such as "100", a fraction, zero or a negative number is 400 INVALID_ARGUMENT with details.field = amount_coins. Omitted: the order stakes stake_rules.default_coins — a fallback, not a recommendation.

Required range: x >= 1
Example:

300

Response

The preview (check can_place before confirming)

can_place
boolean
required
summary
object
required

What the user confirms before POST /orders. stake_coins is what the order spends; payout_if_correct_rubies is the rubies received if the option wins — units × ruby_multiplier, so it differs from the unit count while a ruby boost runs. It is a guaranteed minimum: if the topic settles while a ruby boost is live, it pays at the higher multiplier. The stake is not returned.

reason
enum<string>

Present only when can_place is false.

Available options:
TOPIC_CLOSED,
ALREADY_STAKED,
INSUFFICIENT_BALANCE,
MECHANISM_UNSUPPORTED,
STAKE_OUT_OF_RANGE
details
object

Present only with STAKE_OUT_OF_RANGE — the topic's stake range.

confirm_token
string

Present only when can_place is true.

expires_at
string<date-time>

Present only when can_place is true. 5 minutes out.