List RFQ Conversions
The method GET /conversions enables you to retrieve a list of RFQ conversions that were previously created.
Endpoint URL
Request
Query Fields
You can use the following query parameters in your request
| Parameter | Description | Required | Default Value |
|---|---|---|---|
status | Allows you to filter conversions by status. Valid values: PENDING, FAILED, COMPLETED | No | |
page_size | Allows you to define the maximum number of records returned by page | No | 100 |
page_token | Encrypted value used to retrieve records from next page of the pagination. This value is returned by the endpoint itself in case there are more records to be retrieved. | No | |
created_at_gte | Returns only conversions created at or after this moment (inclusive). ISO 8601 timestamp with a UTC offset, for example 2026-01-01T00:00:00Z. | No | |
created_at_lt | Returns only conversions created before this moment (exclusive). ISO 8601 timestamp with a UTC offset, for example 2026-02-01T00:00:00Z. | No |
Filtering by Creation Date
Use created_at_gte and created_at_lt to retrieve the conversions created within a time range. The range includes created_at_gte and excludes created_at_lt, so consecutive ranges such as January (2026-01-01T00:00:00Z to 2026-02-01T00:00:00Z) and February (2026-02-01T00:00:00Z to 2026-03-01T00:00:00Z) never return the same conversion twice.
- You can send either parameter on its own to set only a lower or an upper bound.
- Both values must include a UTC offset, either
Zor a value such as-03:00. Dates without a time (2026-01-01) or without an offset (2026-01-01T00:00:00) are rejected. - When the offset is positive, URL-encode the
+sign as%2B(for example,2026-01-01T00:00:00%2B03:00). - Sending the same value in both parameters returns an empty list.
- The
page_tokendoesn't store your filters. When you request the next page, send the samestatus,created_at_gte, andcreated_at_ltvalues you used for the first page.
Example
GET https://api.bitso.com/rfq/v1/conversions?status=COMPLETED&page_size=1
Response
Fields
| Field | Type | Description |
|---|---|---|
id | string | Unique conversion transaction ID |
source | string | Source currency (what was sold) |
target | string | Target currency (what was bought) |
source_amount | string | Amount of source currency converted |
target_amount | string | Amount of target currency received |
quote_id | string | Original quote ID that was executed |
rate | string | Exchange rate applied (including fees) |
status | string | Conversion status. Valid values: PENDING, FAILED, COMPLETED |
quoted_at | string | When the original quote was created |
created_at | string | When the conversion was created (received for processing) |
updated_at | string | Last update timestamp |
Status Values
| Status | Meaning |
|---|---|
PENDING | The conversion was received and is still being processed. |
FAILED | The conversion did not complete successfully (for example, funds could not be moved). |
COMPLETED | The conversion finished successfully. |
source_amount, target_amount, and quote_id are always present in the response, no matter which of the statuses above is returned. See Get RFQ Conversion for a payload example of each status.
Payload Example
{
"conversions": [
{
"id": "38c441b2-b192-401d-a33e-8c36d03ad90c",
"source": "USDT",
"target": "BTC",
"source_amount": "10.0000000000",
"target_amount": "0.0000866500",
"quote_id": "38c441b2-b192-401d-a33e-8c36d03ad90c",
"rate": "115406.8090017311",
"status": "COMPLETED",
"quoted_at": "2025-08-07T10:26:42Z",
"created_at": "2025-08-07T10:26:42Z",
"updated_at": "2025-08-07T10:26:43Z"
},
{
"id": "5c1e6b90-1a2d-4e3f-9c7a-2f8b6d4a9e10",
"source": "USDT",
"target": "BTC",
"source_amount": "68206.00",
"target_amount": "1.0",
"quote_id": "5c1e6b90-1a2d-4e3f-9c7a-2f8b6d4a9e10",
"rate": "68206.00",
"status": "PENDING",
"quoted_at": "2025-08-04T20:50:33Z",
"created_at": "2025-08-04T20:50:35Z",
"updated_at": "2025-08-04T20:50:35Z"
},
{
"id": "9b2f4d31-7e8c-4a1b-8d3f-6c5a7e9b1f22",
"source": "USDT",
"target": "BTC",
"source_amount": "68206.00",
"target_amount": "1.0",
"quote_id": "9b2f4d31-7e8c-4a1b-8d3f-6c5a7e9b1f22",
"rate": "68206.00",
"status": "FAILED",
"quoted_at": "2025-08-04T20:50:33Z",
"created_at": "2025-08-04T20:50:35Z",
"updated_at": "2025-08-04T20:50:40Z"
}
],
"next_page_token": "eyJwYXlsb2FkIjoiMiIsInNpZ25hdHVyZSI6InRuaWQwQ3BVRmdOS3E1dUMifQ",
"total_count": 4
}Error
Responses
| Status Code | Error Code | Description |
|---|---|---|
| 400 | invalid_page_token_received | Invalid page_token provided |
| 400 | invalid_created_at_format | created_at_gte or created_at_lt is not an ISO 8601 timestamp with a UTC offset |
| 400 | invalid_created_at_range | created_at_gte is later than created_at_lt |
| 500 | failed_creating_page_token | Failed to create next page token |
| 500 | unexpected | Internal server error |
Payload Example
{
"errors": [
{
"code": "invalid_page_token_received",
"message": "Invalid page_token provided"
}
]
}Updated 8 days ago
