Ripio Orders API
The Orders API from Ripio — 11 operation(s) for orders.
The Orders API from Ripio — 11 operation(s) for orders.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/ripio-orders-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Ripio Trade - API Documentation Book Orders API
version: v4.0
description: "Welcome to the Ripio Trade API documentation.\n\n### Version\nThis API is currently in the version 4.\n\nIf there is need for any big change, a new version will be launched and this version will be maintained for at least 3 months.\n\nIf you're still using the version 3, [access the old documentation](../v3) and check the [migration guide](#tag/V3-Endpoint-Migrations).\n\n### Important\nUse the `Market` endpoints for all trading operations. The `Public` endpoints have a delay (cache) of up to 30 seconds.\n\nAll successful requests will result in a 200 HTTP Status.\n\nAll requests returns data in JSON format (application/json) and have a default body:\n\n\n### Success\n```\n{\n \"error_code\": null,\n \"message\": null,\n \"data\": { }\n}\n```\n\n### Error\n```\n{\n \"error_code\": [Error code],\n \"message\": \"Error description\",\n \"data\": null\n}\n```\n\n\nEndpoints that have a date filter will return data for the last 6 months if no value is sent in the `start_date` parameter.\n\n### URL structure\nThe endpoints URL follow this pattern:\n\n`https://api.ripiotrade.co/{version}/{method}[/{parameter}][?parameter=value...]`\n\n `https://api.ripiotrade.co/v4/tickers/BTC_BRL`\n\n### Limits\n\nThe request limits are based on the user's operational limits.\n\nThere are two types of limit, one of requests per second and another of daily requests. Both of them should be taken in consideration and the requests should be balanced so the daily limit isn't reached.\n\nUsers **without approved documentation** have 1 request per second or 86.400 daily requests.\n\nUsers **with approved documentation** have 3.5 requests per second or 302.400 daily requests.\n\nThese limits can be increased, and the support team should be contacted for that.\n\nWhen the requests per second limit is reached, the response HTTP Status returned is 429 and the response body is:\n```\n{\n \"message\": \"Too many requests\"\n}\n```\n\nWhen the daily requests limit is reached, the response HTTP Status returned is 429 and the response body is:\n```\n{\n \"message\": \"Limit Exceeded\"\n}\n```"
contact:
name: Jorn Filho
x-logo:
url: https://trade-images.ripio.com/general_images/logo-ripio.png
href: '#'
servers:
- url: https://api.ripiotrade.co/v4/
tags:
- name: Orders
paths:
/trades:
get:
operationId: GetTrades
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/CursorTradesResponse'
description: Lists the trades history based on the filtering criteria.
summary: Trades
tags:
- Orders
security:
- API Credentials:
- Read
parameters:
- description: Currency pair code
in: query
name: pair
required: true
schema:
type: string
example: BTC_BRL
- in: query
name: start_time
required: false
schema:
$ref: '#/components/schemas/StartDateTimeNoMinParamV4'
- in: query
name: end_time
required: false
schema:
$ref: '#/components/schemas/EndDateTimeNoMinParamV4'
- in: query
name: page_size
required: false
schema:
$ref: '#/components/schemas/PageSizeParamV4'
- description: The `c` parameter is the cursor you should use to fetch the next page of results
in: query
name: c
required: false
schema:
type: string
x-mcp:
enabled: true
name: get_trades_history
usage: '- To get authenticated user trades history for a trading pair
- To analyze user-specific market activity and trading patterns
- For tracking personal trading volume and performance'
/orders:
get:
operationId: GetUserOrders
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/UserOrdersResponseV4'
description: Lists the user's orders.
summary: User Orders
tags:
- Orders
security:
- API Credentials:
- Read
parameters:
- description: Currency pair code
in: query
name: pair
required: true
schema:
type: string
example: BTC_BRL
- in: query
name: status
required: false
schema:
type: array
items:
$ref: '#/components/schemas/OrderStatusParamV4'
- in: query
name: side
required: false
schema:
$ref: '#/components/schemas/OrderSideParamV4'
- in: query
name: type
required: false
schema:
$ref: '#/components/schemas/OrderTypeParamV4'
- in: query
name: ids
required: false
schema:
$ref: '#/components/schemas/OrderIdsParamV4'
- in: query
name: start_date
required: false
schema:
$ref: '#/components/schemas/StartDateParamV4'
- in: query
name: end_date
required: false
schema:
$ref: '#/components/schemas/EndDateParamV4'
- in: query
name: page_size
required: false
schema:
$ref: '#/components/schemas/PageSizeParamV4'
- in: query
name: current_page
required: false
schema:
$ref: '#/components/schemas/CurrentPageParamV4'
- description: The `c` parameter is the cursor you should use to fetch the next page of results
in: query
name: c
required: false
schema:
type: string
x-mcp:
enabled: true
name: get_user_orders
usage: '- To list all orders for a specific trading pair
- To filter orders by status, side, type, or date range
- To retrieve order history with pagination support'
post:
operationId: CreateOrder
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrderResponse'
description: 'Creates a new order.
Publishes updates in the following websocket topics: [`trade`](#operation/trade) (if there is a trade), [`orderbook`](#operation/orderbook), [`balance`](#operation/balance) and [`order_status`](#operation/order_status).'
summary: Create Order
tags:
- Orders
security:
- API Credentials:
- Buy/Sell
parameters: []
requestBody:
required: true
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/LimitBuyOrderBody'
- $ref: '#/components/schemas/LimitSellOrderBody'
- $ref: '#/components/schemas/MarketBuyOrderBody'
- $ref: '#/components/schemas/MarketSellOrderBody'
- $ref: '#/components/schemas/StopLimitBuyOrderBody'
- $ref: '#/components/schemas/StopLimitSellOrderBody'
- $ref: '#/components/schemas/TrailingBuyOrderBody'
- $ref: '#/components/schemas/TrailingSellOrderBody'
- $ref: '#/components/schemas/CeilingBuyOrderBody'
- $ref: '#/components/schemas/CeilingSellOrderBody'
- $ref: '#/components/schemas/IcebergBuyOrderBody'
- $ref: '#/components/schemas/IcebergSellOrderBody'
x-mcp:
enabled: true
name: create_order
usage: '- To place buy or sell orders on trading pairs
- To create limit, market, stop-limit, trailing, ceiling, or iceberg orders
- To execute trading strategies with various order types and parameters'
delete:
operationId: CancelOrder
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/CancelOrderResponse'
description: 'Cancels an active order by its `id`.
Publishes updates in the following websocket topics: [`orderbook`](#operation/orderbook), [`balance`](#operation/balance) and [`order_status`](#operation/order_status).'
summary: Cancel Order
tags:
- Orders
security:
- API Credentials:
- Buy/Sell
parameters: []
requestBody:
required: true
content:
application/json:
schema:
properties:
id:
type: string
description: Order `id`
example: 7155ED34-9EC4-4733-8B32-1E4319CB662F
required:
- id
type: object
x-mcp:
enabled: true
name: cancel_order
usage: '- To cancel an active order using its order ID
- To stop pending orders from executing
- To manage order lifecycle and risk control'
put:
operationId: UpdatePriceAmountOrderOnMarket
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/VoidResponse'
description: 'Allows update the amount and/or price of an order, it is not possible to change a canceled or fully executed order.
Publishes updates in the following websocket topics: [`orderbook`](#operation/orderbook), and [`balance`](#operation/balance).'
summary: Update the amount and/or price of an order
tags:
- Orders
security:
- API Credentials:
- Read
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OrderUpdatePriceAmountOrderOnMarketBody'
x-mcp:
enabled: true
name: update_order_price_amount
usage: '- To modify the price and/or amount of an existing active order
- To adjust order parameters without canceling and recreating
- To optimize order execution by updating terms'
/orders/open:
get:
operationId: GetUserOpenOrders
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/UserOpenOrdersResponseV4'
description: Lists the user's open orders.
summary: Get User Open Orders
tags:
- Orders
security:
- API Credentials:
- Read
parameters:
- description: Currency pair code
in: query
name: pair
required: false
schema:
type: string
example: BTC_BRL
- in: query
name: side
required: false
schema:
$ref: '#/components/schemas/OrderSideParamV4'
- in: query
name: page_size
required: false
schema:
$ref: '#/components/schemas/PageSizeParamV4'
- in: query
name: current_page
required: false
schema:
$ref: '#/components/schemas/CurrentPageParamV4'
- description: The `c` parameter is the cursor you should use to fetch the next page of results
in: query
name: c
required: false
schema:
type: string
x-mcp:
enabled: true
name: get_user_open_orders
usage: '- To list all currently active orders for a user
- To monitor pending orders by trading pair or side
- To check order status and remaining amounts'
/orders/trades:
get:
operationId: GetTrades
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/UserTradesResponseV4'
description: 'Get the trades from an order.
**Attention:** Due to performance concerns, this endpoint now uses cursor-based pagination. The pagination object currently included in the response is now a placeholder and will be entirely removed as of 2026-06-01. The parameter current_page is also a placeholder and will be removed at the same time. Please update your integration accordingly and refer to the documentation for the correct pagination handling.'
summary: Get Trades based on a order id
tags:
- Orders
security:
- API Credentials:
- Read
parameters:
- description: Order id from a valid order
in: query
name: order_id
required: true
schema:
type: string
- in: query
name: page_size
required: false
schema:
$ref: '#/components/schemas/PageSizeParamV4'
- description: The `c` parameter is the cursor you should use to fetch the next page of results
in: query
name: c
required: false
schema:
type: string
x-mcp:
enabled: true
name: get_trades_by_order_id
usage: '- To list all trades that have the given order as maker or taker
- To analyze order execution details and fill history
- To track partial fills and trade timestamps for specific orders'
/orders/{id}:
get:
operationId: GetOrderById
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/UserOrderResponse'
description: Returns the details of an order belonging to the user (by id).
summary: User Order by Id
tags:
- Orders
security:
- API Credentials:
- Read
parameters:
- in: path
name: id
required: true
schema:
$ref: '#/components/schemas/OrderIdParamV4'
x-mcp:
enabled: true
name: get_order_by_id
usage: '- To retrieve detailed information about a specific order
- To check order status, execution details, and transaction history
- To get comprehensive order data including fees and timestamps'
/orders/by-external-id/{external_id}:
get:
operationId: GetOrderByExternalId
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/UserOrderResponse'
description: Returns the details of a order belonging to the user (by external id).
summary: User Order by External Id
tags:
- Orders
security:
- API Credentials:
- Read
parameters:
- in: path
name: external_id
required: true
schema:
$ref: '#/components/schemas/OrderExternalIdParamV4'
x-mcp:
enabled: true
name: get_order_by_external_id
usage: '- To retrieve order details using custom external identifier
- To track orders created with external reference IDs
- To get order information when only external ID is available'
/orders/cancel:
post:
operationId: CancelOrderByPost
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/CancelOrderResponse'
description: 'Cancels an active order by its `id` using POST.
Publishes updates in the following websocket topics: [`orderbook`](#operation/orderbook), [`balance`](#operation/balance) and [`order_status`](#operation/order_status).'
summary: Cancel Order
tags:
- Orders
security:
- API Credentials:
- Buy/Sell
parameters: []
requestBody:
required: true
content:
application/json:
schema:
properties:
id:
type: string
description: Order `id`
example: 7155ED34-9EC4-4733-8B32-1E4319CB662F
required:
- id
type: object
x-mcp:
enabled: true
name: cancel_order_post
usage: '- To cancel an active order using POST method with order ID
- To stop pending orders from executing via POST request
- Alternative method for order cancellation when DELETE is not available'
/orders/by-external-id:
delete:
operationId: CancelOrderByExternalId
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/CancelOrderResponse'
description: 'Cancels an active order by its `external_id`.
Publishes updates in the following websocket topics: [`orderbook`](#operation/orderbook), [`balance`](#operation/balance) and [`order_status`](#operation/order_status).'
summary: Cancel Order By External Id
tags:
- Orders
security:
- API Credentials:
- Buy/Sell
parameters: []
requestBody:
required: true
content:
application/json:
schema:
properties:
external_id:
type: string
description: Order `external_id`
example: 0F4A8504-21FB-4BE6-9771-25DCF5F68F87
required:
- external_id
type: object
x-mcp:
enabled: true
name: cancel_order_by_external_id
usage: '- To cancel an active order using custom external identifier
- To stop orders when only external ID is available
- To manage orders created with external reference tracking'
/orders/cancel-by-external-id:
post:
operationId: CancelOrderByExternalIdByPost
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/CancelOrderResponse'
description: 'Cancels an active order by its `external_id` using POST.
Publishes updates in the following websocket topics: [`orderbook`](#operation/orderbook), [`balance`](#operation/balance) and [`order_status`](#operation/order_status).'
summary: Cancel Order By External Id
tags:
- Orders
security:
- API Credentials:
- Buy/Sell
parameters: []
requestBody:
required: true
content:
application/json:
schema:
properties:
external_id:
type: string
description: Order `external_id`
example: 0F4A8504-21FB-4BE6-9771-25DCF5F68F87
required:
- external_id
type: object
x-mcp:
enabled: true
name: cancel_order_by_external_id_post
usage: '- To cancel an active order using POST method with external ID
- Alternative method for external ID order cancellation
- To manage orders when DELETE method is not available'
/orders/all:
delete:
operationId: CancelAllOrders
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/CancelAllOrdersResponse'
description: 'Cancels all the user''s active orders.
Publishes updates in the following websocket topics: [`orderbook`](#operation/orderbook), [`balance`](#operation/balance) and [`order_status`](#operation/order_status).'
summary: Cancel All Orders
tags:
- Orders
security:
- API Credentials:
- Buy/Sell
parameters: []
requestBody:
required: true
content:
application/json:
schema:
properties:
pair:
type: string
description: Currency pair code
example: BTC_BRL
type: object
x-mcp:
enabled: true
name: cancel_all_orders
usage: '- To cancel all active orders for a specific trading pair
- To quickly close all open positions in emergency situations
- To clear all pending orders for risk management'
/orders/estimate-price/{pair}:
get:
operationId: EstimatePrice
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/EstimatedPriceResponseV4'
description: Estimates the market unit price for a specific amount of a given currency pair.
summary: Estimate Price
tags:
- Orders
security:
- API Credentials:
- Read
parameters:
- description: Currency pair code
in: path
name: pair
required: true
schema:
type: string
example: BTC_BRL
- description: Amount to be used in the estimative.
in: query
name: amount
required: true
schema:
format: double
type: number
- in: query
name: side
required: true
schema:
$ref: '#/components/schemas/OrderSideParamV4'
x-mcp:
enabled: true
name: estimate_order_price
usage: '- To estimate execution price for market orders before placement
- To calculate expected costs for trading amounts
- To preview order impact on market prices'
components:
schemas:
UserOrderTransactions:
properties:
amount:
type: number
format: double
description: Execution amount in cryptocurrency
create_date:
type: string
format: date-time
description: Timestamp of the execution
fee:
type: number
format: double
description: Fee charged for this execution
fee_currency:
type: string
description: Currency code in which the fee was charged
total_value:
type: number
format: double
description: Total execution value
price:
type: number
format: float
description: Execution price
required:
- amount
- create_date
- fee
- fee_currency
- total_value
- price
type: object
additionalProperties: false
LimitSellOrderBody:
properties:
external_id:
$ref: '#/components/schemas/OrderExternalIdParamV4'
pair:
type: string
description: Currency pair code
side:
type: string
enum:
- sell
description: Order's side (sell)
type:
type: string
enum:
- limit
description: Order's type (limit)
amount:
type: number
format: double
description: Order amount in base currency
price:
type: number
format: double
description: Limit price
post_only:
type: boolean
description: If set to `true`, the order will be added directly to the order book without an initial match, provided the request is valid
expiration:
type: number
format: double
description: If a valid timestamp is provided, the order will be created with an expiration date and time
immediate_or_cancel:
type: boolean
description: If set to `true`, the order will not be added to the order book after the initial match, any remaining unfilled amount will result in the order being canceled
fill_or_kill:
type: boolean
description: If set to `true`, the order will either be completely filled or canceled
required:
- pair
- side
- type
- amount
- price
type: object
additionalProperties: false
example:
pair: BTC_BRL
side: sell
type: limit
amount: 1
price: 700000
post_only: false
expiration: 1723073682
immediate_or_cancel: false
fill_or_kill: false
title: Sell Limit
EndDateTimeNoMinParamV4:
type: string
default: '[Current datetime]'
example: '2020-01-02T23:59:59-03:00'
format: datetime
description: Final datetime filter in ISO-8601 format
UserOpenOrdersResponseV4:
properties:
data:
$ref: '#/components/schemas/UserOpenOrdersDataV4'
error_code:
type:
- number
- 'null'
enum:
- null
example: null
message:
type:
- string
- 'null'
example: null
required:
- data
- error_code
- message
type: object
additionalProperties: false
CancelAllOrdersResponse:
properties:
data:
items:
$ref: '#/components/schemas/CancelAllOrdersData'
type: array
example:
- order_id: F6D2661E-4D6F-4770-BBE6-CC063CBA3770
pair_code: BTC_BRL
success: true
- order_id: 7155ED34-9EC4-4733-8B32-1E4319CB662F
pair_code: BTC_BRL
success: false
error_code:
type:
- number
- 'null'
enum:
- null
example: null
message:
type:
- string
- 'null'
example: null
required:
- data
- error_code
- message
type: object
additionalProperties: false
EndDateParamV4:
type: string
default: '[Current date]'
format: date
description: Final date filter in ISO-8601 format (the interval between the initial and final date shouldn't be greater than 6 months)
CursorTradesResponse:
properties:
data:
$ref: '#/components/schemas/CursorTradesResponseData'
error_code:
type:
- number
- 'null'
enum:
- null
example: null
message:
type:
- string
- 'null'
example: null
required:
- data
- error_code
- message
type: object
additionalProperties: false
OrderStatusParamV4:
type: string
enum:
- executed_completely
- executed_partially
- open
- canceled
default: executed_partially
description: Order status (string or string list separated by commas)
EstimatedPriceResponseDataV4:
properties:
price:
type: number
format: double
description: Estimated price
example: 54049.12
required:
- price
type: object
additionalProperties: false
StartDateParamV4:
type: string
default: '[10 days ago]'
format: date
description: Initial date filter in ISO-8601 format (shouldn't be before 2017-10-01)
OrderExternalIdParamV4:
type: string
example: 0f4a8504-21fb-4be6-9771-25dcf5f68f87
description: Order external identifier (maximum of 36 chars)
UserPreparedOrderWithExecutions:
properties:
id:
type: string
description: Order identifier
create_date:
type: string
description: Creation datetime
executed_amount:
type: number
format: float
description: Executed amount
external_id:
type: string
description: External id (this is sent by the user when creating an order, and it's optional)
pair:
type: string
description: Currency pair code
example: BTC_BRL
remaining_amount:
type: number
format: float
description: Remaining amount
remaining_value:
type: number
format: float
description: Remaining value
requested_amount:
type: number
format: float
description: Requested amount
requested_value:
type: number
format: float
description: Requested value
status:
type: string
description: Order status (executed_completely / executed_partially / open / canceled)
type:
type: string
description: Order type (limit / market)
total_value:
type: number
format: float
description: Total value
side:
type: string
description: Order side (buy or sell)
price:
type: number
format: float
description: Price
update_date:
type: string
description: Datetime of the last update
fee:
type: number
format: float
description: Fee from the transaction
fill_or_kill:
type: boolean
description: Exclusive for StopLimit orders, it is used in stop-loss or stop-buy scenarios to initiate selling or buying when the market price reaches the specified stop price
average_execution_price:
type: number
format: double
description: Average execution price
transactions:
items:
$ref: '#/components/schemas/UserOrderTransactions'
type: array
description: Trades associated with the order
required:
- id
- create_date
- executed_amount
- pair
- remaining_amount
- remaining_value
- requested_amount
- status
- type
- total_value
- side
- price
- update_date
- fee
- fill_or_kill
- transactions
type: object
additionalProperties: false
example:
average_execution_price: 42600
create_date: '2017-12-08T23:42:54.960Z'
external_id: C90796F2-2CC3-4797-9AC3-A16BCC6936F0
executed_amount: 0.02347418
id: 8DE12108-4643-4E9F-8425-0172F1B96876
remaining_amount: 0
requested_amount: 0.02347418
requested_value: 1000
remaining_value: 0
pair: BTC_BRL
price: 42600
side: buy
status: executed_completely
fee: 0.002
total_value: 1000
type: limit
update_date: '2017-12-13T21:48:48.817Z'
transactions:
- amount: 0.2
create_date: '2020-02-21 20:24:43.433'
fee: 0.12
fee_currency: BTC
price: 5000
total_value: 1000
- amount: 0.2
create_date: '2020-02-21 20:49:37.450'
fee: 0.12
fee_currency: BTC
price: 5000
total_value: 1000
IcebergSellOrderBody:
properties:
external_id:
$ref: '#/components/schemas/OrderExternalIdParamV4'
pair:
type: string
description: Currency pair code
side:
type: string
enum:
- sell
description: Order's side (sell)
type:
type: string
enum:
- iceberg
description: Order's type (iceberg)
amount:
type: number
format: double
description: Order amount in base currency
step_amount:
type: number
format: double
description: Step amount (the ratio of amount to step_amount must be less than or equal to 10)
price:
type: number
format: double
description: Limit price
required:
- pair
- side
- type
- amount
- step_amount
- price
type: object
additionalProperties: false
example:
amount: 10
step_amount: 1
pair: BTC_BRL
price: 700000
side: sell
type: iceberg
UserOrdersResponseV4:
properties:
data:
$ref: '#/components/schemas/UserOrdersDataV4'
error_code:
type:
- number
- 'null'
enum:
- null
example: null
message:
type:
- string
- 'null'
example: null
required:
- data
- error_code
- message
type: object
additionalProperties: false
CeilingSellOrderBody:
properties:
external_id:
$ref: '#/components/schemas/OrderExternalIdParamV
# --- truncated at 32 KB (81 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ripio/refs/heads/main/openapi/ripio-orders-api-openapi.yml