Accept execution quote
curl --request POST \
--url https://api.stabyl.com/v1/partner/exchange/quotes/{quote_id}/accept \
--header 'X-Api-Key: <api-key>'import requests
url = "https://api.stabyl.com/v1/partner/exchange/quotes/{quote_id}/accept"
headers = {"X-Api-Key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-Api-Key': '<api-key>'}};
fetch('https://api.stabyl.com/v1/partner/exchange/quotes/{quote_id}/accept', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.stabyl.com/v1/partner/exchange/quotes/{quote_id}/accept",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"X-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.stabyl.com/v1/partner/exchange/quotes/{quote_id}/accept"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("X-Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.stabyl.com/v1/partner/exchange/quotes/{quote_id}/accept")
.header("X-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stabyl.com/v1/partner/exchange/quotes/{quote_id}/accept")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"accepted_at": "2026-09-29T12:00:10Z",
"order_id": "01999a40-0000-7000-8000-000000000001",
"quote_id": "01999a40-0000-7000-8000-000000000001",
"status": "pending"
},
"status": "success"
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "invalid request parameters"
},
"status": "error"
}{
"error": {
"code": "UNAUTHORIZED",
"message": "missing X-Api-Key header"
},
"status": "error"
}{
"error": {
"code": "FORBIDDEN",
"message": "request is not allowed"
},
"status": "error"
}{
"error": {
"code": "NOT_FOUND",
"message": "quote not found"
},
"status": "error"
}{
"error": {
"code": "CONFLICT",
"message": "quote expired; request a fresh quote"
},
"status": "error"
}Exchange
Accept execution quote
Accepts your quote with trades:create; no body or separate idempotency key is needed. Retry uncertain responses with the same quote ID. Returns 409 for expired unaccepted quotes and 404 for unknown or unowned quotes. Fills may be partial; unfilled amounts are cancelled. Check order_id for the final result.
POST
/
partner
/
exchange
/
quotes
/
{quote_id}
/
accept
Accept execution quote
curl --request POST \
--url https://api.stabyl.com/v1/partner/exchange/quotes/{quote_id}/accept \
--header 'X-Api-Key: <api-key>'import requests
url = "https://api.stabyl.com/v1/partner/exchange/quotes/{quote_id}/accept"
headers = {"X-Api-Key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-Api-Key': '<api-key>'}};
fetch('https://api.stabyl.com/v1/partner/exchange/quotes/{quote_id}/accept', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.stabyl.com/v1/partner/exchange/quotes/{quote_id}/accept",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"X-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.stabyl.com/v1/partner/exchange/quotes/{quote_id}/accept"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("X-Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.stabyl.com/v1/partner/exchange/quotes/{quote_id}/accept")
.header("X-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stabyl.com/v1/partner/exchange/quotes/{quote_id}/accept")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"accepted_at": "2026-09-29T12:00:10Z",
"order_id": "01999a40-0000-7000-8000-000000000001",
"quote_id": "01999a40-0000-7000-8000-000000000001",
"status": "pending"
},
"status": "success"
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "invalid request parameters"
},
"status": "error"
}{
"error": {
"code": "UNAUTHORIZED",
"message": "missing X-Api-Key header"
},
"status": "error"
}{
"error": {
"code": "FORBIDDEN",
"message": "request is not allowed"
},
"status": "error"
}{
"error": {
"code": "NOT_FOUND",
"message": "quote not found"
},
"status": "error"
}{
"error": {
"code": "CONFLICT",
"message": "quote expired; request a fresh quote"
},
"status": "error"
}Authorizations
API credential. Withdrawal quote and submit operations additionally require the documented Ed25519 timestamp, nonce, and signature headers.
Path Parameters
Quote ID returned by quote creation
Was this page helpful?