DevelopersOsai website ↗
API v1
Exchange / API reference

Get Capabilities

Request and response reference for GET /v1/exchange/markets/{market}/capabilities.

GET/v1/exchange/markets/{market}/capabilities
Authentication: Console sessionPermission: exchange.read
Use the base URL and access configuration provided to your institution. Examples are request templates, not transaction results. Field tables focus on client fields; preserve additional metadata returned by the configured service.

Request

This interface uses an approved institutional session, not a financial API key. Session writes also need Origin and CSRF protection. Use the JavaScript sample within an authorized browser integration.

Request templatecURL
curl -X GET "$OSAI_CONSOLE_BASE_URL/v1/exchange/markets/$MARKET_ID/capabilities" \
  -H "Origin: $OSAI_APP_ORIGIN" \
  --cookie "$OSAI_SESSION_COOKIE_FILE"

Parameters

NameLocationRequirementDescription
marketpath · stringRequiredUse the value defined for this resource.

Request body

This operation does not define a JSON request body.

Responses

Inspect HTTP status before parsing a body. These tables describe client response fields rather than invented successful transaction payloads.

200 · HTTP 200 response
FieldTypeDescription & constraints
specificationRequired in parent objectstringDefined by the resource contract.Values: osai-exchange/v1
marketRequired in parent objectobjectDefined by the resource contract.
market.market_idRequired in parent objectstringDefined by the resource contract.
market.pairRequired in parent objectstringDefined by the resource contract.
market.base_currencyRequired in parent objectstringDefined by the resource contract.
market.quote_currencyRequired in parent objectstringDefined by the resource contract.
market.self_trade_policyRequired in parent objectstringDefined by the resource contract.
market.versionRequired in parent objectstringExact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$
market.price_scaleRequired in parent objectstringExact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$
market.quantity_scaleRequired in parent objectstringExact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$
market.price_tickRequired in parent objectstringExact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$
market.quantity_stepRequired in parent objectstringExact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$
market.minimum_quantityRequired in parent objectstringExact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$
market.maximum_quantityRequired in parent objectstringExact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$
market.maximum_priceRequired in parent objectstringExact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$
market.maximum_retained_ordersRequired in parent objectintegerDefined by the resource contract.
market.maximum_retained_commandsRequired in parent objectintegerDefined by the resource contract.
market.fee_schedulesRequired in parent objectarrayDefined by the resource contract.
market.fee_schedules[].schedule_idRequired in parent objectstringDefined by the resource contract.
market.fee_schedules[].versionRequired in parent objectstringExact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$
market.fee_schedules[].effective_fromRequired in parent objectstringdate-timeDefined by the resource contract.
market.fee_schedules[].effective_untilRequired in parent objectstringdate-timeDefined by the resource contract.
market.fee_schedules[].makerRequired in parent objectobjectDefined by the resource contract.
market.fee_schedules[].maker.currencyRequired in parent objectstringDefined by the resource contract.
market.fee_schedules[].maker.minor_scaleRequired in parent objectstringExact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$
market.fee_schedules[].maker.numeratorRequired in parent objectstringExact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$
market.fee_schedules[].maker.denominatorRequired in parent objectstringExact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$
market.fee_schedules[].maker.roundingRequired in parent objectstringDefined by the resource contract.Values: FLOOR, CEILING
market.fee_schedules[].takerRequired in parent objectobjectDefined by the resource contract.
market.fee_schedules[].taker.currencyRequired in parent objectstringDefined by the resource contract.
market.fee_schedules[].taker.minor_scaleRequired in parent objectstringExact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$
market.fee_schedules[].taker.numeratorRequired in parent objectstringExact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$
market.fee_schedules[].taker.denominatorRequired in parent objectstringExact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$
market.fee_schedules[].taker.roundingRequired in parent objectstringDefined by the resource contract.Values: FLOOR, CEILING
market.allowed_order_instructionsOptionalarrayDefined by the resource contract.
market.allowed_order_instructions[].typeRequired in parent objectstringDefined by the resource contract.Values: LIMIT, MARKET
market.allowed_order_instructions[].time_in_forceRequired in parent objectstringDefined by the resource contract.Values: GTC, IOC, FOK, POST_ONLY
market.allowed_order_instructions[].price_protection_requiredRequired in parent objectbooleanDefined by the resource contract.
supported_order_instructionsRequired in parent objectarrayDefined by the resource contract.
supported_order_instructions[].typeRequired in parent objectstringDefined by the resource contract.Values: LIMIT, MARKET
supported_order_instructions[].time_in_forceRequired in parent objectstringDefined by the resource contract.Values: GTC, IOC, FOK, POST_ONLY
supported_order_instructions[].price_protection_requiredRequired in parent objectbooleanDefined by the resource contract.
priorityRequired in parent objectstringDefined by the resource contract.Values: PRICE_TIME
execution_priceRequired in parent objectstringDefined by the resource contract.Values: RESTING_LIMIT_PRICE
replacement_priorityRequired in parent objectstringDefined by the resource contract.Values: NEW_ORDER_NEW_PRIORITY
book_recoveryRequired in parent objectstringDefined by the resource contract.Values: COMMAND_ATOMIC_ABSOLUTE_LEVELS
capacity_evidenceRequired in parent objectstringDefined by the resource contract.
match_settlement_stateRequired in parent objectstringDefined by the resource contract.Values: MATCHED_NOT_SETTLED
400 · Invalid bounded instruction

No client body fields are defined for this response.

401 · Authentication required

No client body fields are defined for this response.

403 · Permission, recent verified MFA or CSRF denied

No client body fields are defined for this response.

409 · Version, preview, instruction or capacity conflict

No client body fields are defined for this response.

503 · Unavailable or unknown commit outcome; query the original command before retrying

No client body fields are defined for this response.

Retries & recovery

Keep the original request identifiers and any required idempotency key. A timeout does not establish failure. Read the original resource or command before another financial write; use expected versions for concurrent changes.

16 suggested pages

Get startedIntroductionIntegrate institutional FX and stablecoin trading with quotes, orders, market data, account records and settlement reporting.Get startedQuickstartMake an authenticated read, request a quote and follow an instruction without losing its original references.Get startedAuthenticationUse the correct authentication scheme for API credentials, Console sessions and market-data feeds.Get startedErrorsDistinguish invalid inputs, denied access, conflicts, rate limits and uncertain outcomes.Get startedRate limitsUse response headers, bounded concurrency and backoff rather than repeated bursts.Get startedAmounts & precisionKeep minor-unit money, fixed-point FX rates and instrument-scaled quantities exact.Get startedPagination & recoveryUse each resource’s pagination model and preserve stable recovery checkpoints.Financial workflowsQuotes & acceptanceRequest explicit FX economics, review conditions and retain accepted terms.Financial workflowsTrade lifecycleTrack funding, execution and settlement as distinct business transitions.Financial workflowsBalances & transactionsRead institutional financial positions and reconcile movements by currency.Financial workflowsBeneficiariesRegister beneficiaries and coordinate their institutional approval lifecycle.Financial workflowsCredential managementCreate, inspect, rotate and revoke application credentials without exposing secrets.Events & reliabilityIdempotencyPrevent duplicate financial effects across retries and uncertain outcomes.Events & reliabilityWebhooks & verificationVerify deliveries, persist original events and make downstream processing idempotent.Events & reliabilityEvent payloadsUnderstand the customer event envelope and business transitions behind subscriptions.Events & reliabilityDelivery retries & replayRepair webhook delivery without creating a second business event.