API Reference
Cancel an open auction
Originator-only. The request body is optional; omit it entirely to
cancel with reason code UNSPECIFIED. When a body is sent, an
idempotency_key inside it must match the header exactly.
POST
/
v1
/
auctions
/
{auctionID}
/
cancel
Cancel an open auction
curl --request POST \
--url https://agora.kairos.trade/v1/auctions/{auctionID}/cancel \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"idempotency_key": "<string>",
"reason_code": "UNSPECIFIED",
"operator_note": "<string>"
}
'import requests
url = "https://agora.kairos.trade/v1/auctions/{auctionID}/cancel"
payload = {
"idempotency_key": "<string>",
"reason_code": "UNSPECIFIED",
"operator_note": "<string>"
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
idempotency_key: '<string>',
reason_code: 'UNSPECIFIED',
operator_note: '<string>'
})
};
fetch('https://agora.kairos.trade/v1/auctions/{auctionID}/cancel', 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://agora.kairos.trade/v1/auctions/{auctionID}/cancel",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'idempotency_key' => '<string>',
'reason_code' => 'UNSPECIFIED',
'operator_note' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"Idempotency-Key: <idempotency-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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://agora.kairos.trade/v1/auctions/{auctionID}/cancel"
payload := strings.NewReader("{\n \"idempotency_key\": \"<string>\",\n \"reason_code\": \"UNSPECIFIED\",\n \"operator_note\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://agora.kairos.trade/v1/auctions/{auctionID}/cancel")
.header("Idempotency-Key", "<idempotency-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"idempotency_key\": \"<string>\",\n \"reason_code\": \"UNSPECIFIED\",\n \"operator_note\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://agora.kairos.trade/v1/auctions/{auctionID}/cancel")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"idempotency_key\": \"<string>\",\n \"reason_code\": \"UNSPECIFIED\",\n \"operator_note\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"auction": {
"auction": {
"auction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"owner_epoch": "<string>",
"customer_class": "<string>",
"market_id": "<string>",
"outcome_id": "<string>",
"side": "BUY",
"fill_instruction": "FOK",
"min_fill_quantity_atoms": 123,
"target_fill_quantity_atoms": 123,
"max_fill_quantity_atoms": 123,
"objective_mode": "STOP_AT_TARGET",
"allocation_priority_policy": "PRICE_FIRST",
"execution_objective_quantity_atoms": 123,
"filled_quantity_atoms": 123,
"hard_reserve_price_atoms": 5000,
"slippage_reference_price_atoms": 5000,
"slippage_reference_policy": "PUBLIC_EXECUTABLE_VWAP",
"max_cumulative_slippage_bps": 5000,
"minimum_private_improvement_bps": 5000,
"maximum_mm_concentration_bps": 5000,
"minimum_mm_reliability_tier": "UNRATED",
"public_benchmark_price_atoms": 5000,
"public_benchmark_quantity_atoms": 2,
"public_benchmark_observed_at": "2023-11-07T05:31:56Z",
"public_benchmark_source": "<string>",
"benchmark_calculation_version": "<string>",
"max_total_execution_time_ms": 2,
"venue_scope": [
"<string>"
],
"audience_mode": "MANUAL",
"max_recipients": 8,
"identity_disclosure_mode": "CLASS_ONLY",
"fallback_ladder": [
{
"action": "EXECUTE",
"rail": "VENUE_NATIVE_RFQ",
"venue": "<string>",
"limit_price_atoms": 5000,
"minimum_quantity_atoms": 2,
"maximum_quantity_atoms": 2,
"maximum_fraction_bps": 10000,
"timeout_ms": 2000,
"maximum_quote_age_ms": 500,
"allow_partial": true,
"on_unavailable": "CONTINUE",
"on_reject": "CONTINUE",
"fee_profile": {
"fee_profile_id": "<string>",
"fee_profile_version": "<string>",
"model": "NONE",
"rate_ppm": 0,
"fixed_fee_atoms": 123,
"minimum_fee_atoms": 1,
"prediction_fee_scale_ppm": 0,
"rounding_mode": "AGAINST_ORIGINATOR",
"valid_until": "2023-11-07T05:31:56Z"
},
"route_rule_profile": {
"version": "<string>",
"venue": "<string>",
"rail": "VENUE_NATIVE_RFQ",
"mapping_version": "<string>",
"venue_market_id": "<string>",
"venue_outcome_id": "<string>",
"route_id": "<string>",
"price_tick_atoms": 2,
"quantity_tick_atoms": 2,
"minimum_order_atoms": 2,
"maximum_order_atoms": 2,
"atomic": true,
"self_trade_prevention_mode": "CONTROL_GROUP_REJECT",
"control_group_version": "<string>",
"valid_from": "2023-11-07T05:31:56Z",
"valid_until": "2023-11-07T05:31:56Z",
"mapping_valid_from": "2023-11-07T05:31:56Z",
"mapping_valid_until": "2023-11-07T05:31:56Z"
}
}
],
"rule_profile": {
"version": "<string>",
"venue": "<string>",
"market_class": "<string>",
"private_rail": "PRIVATE_BLOCK",
"price_tick_atoms": 2,
"quantity_tick_atoms": 2,
"minimum_block_atoms": 1,
"minimum_leg_atoms": 1,
"maximum_allocation_atoms": 2,
"atomic_private_execution": true,
"public_benchmark_fee_scale_ppm": 500000,
"public_benchmark_max_age_ms": 2500,
"benchmark_calculation_version": "<string>",
"valid_until": "2023-11-07T05:31:56Z",
"private_fee_profile": {
"fee_profile_id": "<string>",
"fee_profile_version": "<string>",
"model": "NONE",
"rate_ppm": 0,
"fixed_fee_atoms": 123,
"minimum_fee_atoms": 1,
"prediction_fee_scale_ppm": 0,
"rounding_mode": "AGAINST_ORIGINATOR",
"valid_until": "2023-11-07T05:31:56Z"
},
"minimum_scorecard_sample_count": 10,
"maximum_scorecard_age_ms": 2
},
"client_metadata": {},
"invitation_delivery": {
"requested_count": 8,
"delivered_count": 8,
"by_transport": {
"BROWSER": 8,
"FIX": 8
},
"participants": [
{
"participant_id": "<string>",
"delivered": true,
"transport": "BROWSER",
"delivered_at": "2023-11-07T05:31:56Z"
}
],
"last_delivered_at": "2023-11-07T05:31:56Z"
},
"state": "PENDING_INVITATIONS",
"final_reason": "OBJECTIVE_REACHED",
"cancellation_reason_code": "UNSPECIFIED",
"cancellation_note": "<string>",
"reason_history": [
{
"reason": "<string>",
"stage": "<string>",
"occurred_at": "2023-11-07T05:31:56Z",
"contributing": true,
"rung_index": 1
}
],
"minimum_tranche_established": true,
"allocation_calculation_version": "<string>",
"capacity_authority_status": "PENDING_VENUE_RECONCILIATION",
"capacity_covered_by_source_sequence": "<string>",
"capacity_covered_at": "2023-11-07T05:31:56Z",
"capacity_portfolio_watermark": "<string>",
"open_time": "2023-11-07T05:31:56Z",
"close_time": "2023-11-07T05:31:56Z",
"finalized_at": "2023-11-07T05:31:56Z",
"sequence": "<string>"
},
"originator_identity": "<string>",
"audience_participant_ids": [
"<string>"
],
"own_quote": {
"quote_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"auction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"revision": "<string>",
"price_atoms": 5000,
"max_executable_quantity_atoms": 123,
"receive_sequence": "<string>",
"received_at": "2023-11-07T05:31:56Z",
"status": "ACTIVE"
},
"allocations": [
{
"allocation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"price_atoms": 5000,
"quantity_atoms": 123,
"rail": "PRIVATE_BLOCK",
"venue": "<string>",
"minimum_tranche": true,
"execution_status": "PLANNED",
"participant_id": "<string>",
"venue_execution_id": "<string>",
"confirmed_quantity_atoms": 123,
"confirmed_price_atoms": 5000,
"expected_fee_atoms": "<string>",
"expected_all_in_value_atoms": "<string>",
"confirmed_fee_atoms": "<string>",
"confirmed_all_in_value_atoms": "<string>",
"rung_index": 1,
"submitted_at": "2023-11-07T05:31:56Z",
"acknowledged_at": "2023-11-07T05:31:56Z",
"finalized_at": "2023-11-07T05:31:56Z"
}
]
},
"duplicate": true
}{
"error": "<string>",
"message": "<string>"
}{
"error": "unauthorized",
"message": "authentication required"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "IDEMPOTENCY_CONFLICT",
"message": "IDEMPOTENCY_CONFLICT"
}{
"error": "payload_too_large"
}{
"error": "auction_rejected",
"message": "auction is not open"
}{
"error": "auction_mutation_rate_limited",
"message": "auction mutation rate limit exceeded"
}{
"error": "internal_error",
"message": "auction request could not be completed"
}{
"error": "auction_owner_unavailable"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Required string length:
1 - 200Path Parameters
Canonical UUID whose first character is the owner shard (0, 1, or 2).
Body
application/json
Optional. Omitting the body cancels with reason_code UNSPECIFIED.
Must equal the Idempotency-Key header when supplied.
Originator-private durable desk reason for cancelling the live auction.
Available options:
UNSPECIFIED, CLIENT_REQUEST, RISK_REDUCTION, MARKET_VIEW_CHANGED, ROUTING_CHANGE, DUPLICATE_ORDER, OTHER Optional bounded originator-private audit note; required when reason_code is OTHER.
Maximum string length:
240Was this page helpful?
⌘I
Cancel an open auction
curl --request POST \
--url https://agora.kairos.trade/v1/auctions/{auctionID}/cancel \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"idempotency_key": "<string>",
"reason_code": "UNSPECIFIED",
"operator_note": "<string>"
}
'import requests
url = "https://agora.kairos.trade/v1/auctions/{auctionID}/cancel"
payload = {
"idempotency_key": "<string>",
"reason_code": "UNSPECIFIED",
"operator_note": "<string>"
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
idempotency_key: '<string>',
reason_code: 'UNSPECIFIED',
operator_note: '<string>'
})
};
fetch('https://agora.kairos.trade/v1/auctions/{auctionID}/cancel', 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://agora.kairos.trade/v1/auctions/{auctionID}/cancel",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'idempotency_key' => '<string>',
'reason_code' => 'UNSPECIFIED',
'operator_note' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"Idempotency-Key: <idempotency-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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://agora.kairos.trade/v1/auctions/{auctionID}/cancel"
payload := strings.NewReader("{\n \"idempotency_key\": \"<string>\",\n \"reason_code\": \"UNSPECIFIED\",\n \"operator_note\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://agora.kairos.trade/v1/auctions/{auctionID}/cancel")
.header("Idempotency-Key", "<idempotency-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"idempotency_key\": \"<string>\",\n \"reason_code\": \"UNSPECIFIED\",\n \"operator_note\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://agora.kairos.trade/v1/auctions/{auctionID}/cancel")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"idempotency_key\": \"<string>\",\n \"reason_code\": \"UNSPECIFIED\",\n \"operator_note\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"auction": {
"auction": {
"auction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"owner_epoch": "<string>",
"customer_class": "<string>",
"market_id": "<string>",
"outcome_id": "<string>",
"side": "BUY",
"fill_instruction": "FOK",
"min_fill_quantity_atoms": 123,
"target_fill_quantity_atoms": 123,
"max_fill_quantity_atoms": 123,
"objective_mode": "STOP_AT_TARGET",
"allocation_priority_policy": "PRICE_FIRST",
"execution_objective_quantity_atoms": 123,
"filled_quantity_atoms": 123,
"hard_reserve_price_atoms": 5000,
"slippage_reference_price_atoms": 5000,
"slippage_reference_policy": "PUBLIC_EXECUTABLE_VWAP",
"max_cumulative_slippage_bps": 5000,
"minimum_private_improvement_bps": 5000,
"maximum_mm_concentration_bps": 5000,
"minimum_mm_reliability_tier": "UNRATED",
"public_benchmark_price_atoms": 5000,
"public_benchmark_quantity_atoms": 2,
"public_benchmark_observed_at": "2023-11-07T05:31:56Z",
"public_benchmark_source": "<string>",
"benchmark_calculation_version": "<string>",
"max_total_execution_time_ms": 2,
"venue_scope": [
"<string>"
],
"audience_mode": "MANUAL",
"max_recipients": 8,
"identity_disclosure_mode": "CLASS_ONLY",
"fallback_ladder": [
{
"action": "EXECUTE",
"rail": "VENUE_NATIVE_RFQ",
"venue": "<string>",
"limit_price_atoms": 5000,
"minimum_quantity_atoms": 2,
"maximum_quantity_atoms": 2,
"maximum_fraction_bps": 10000,
"timeout_ms": 2000,
"maximum_quote_age_ms": 500,
"allow_partial": true,
"on_unavailable": "CONTINUE",
"on_reject": "CONTINUE",
"fee_profile": {
"fee_profile_id": "<string>",
"fee_profile_version": "<string>",
"model": "NONE",
"rate_ppm": 0,
"fixed_fee_atoms": 123,
"minimum_fee_atoms": 1,
"prediction_fee_scale_ppm": 0,
"rounding_mode": "AGAINST_ORIGINATOR",
"valid_until": "2023-11-07T05:31:56Z"
},
"route_rule_profile": {
"version": "<string>",
"venue": "<string>",
"rail": "VENUE_NATIVE_RFQ",
"mapping_version": "<string>",
"venue_market_id": "<string>",
"venue_outcome_id": "<string>",
"route_id": "<string>",
"price_tick_atoms": 2,
"quantity_tick_atoms": 2,
"minimum_order_atoms": 2,
"maximum_order_atoms": 2,
"atomic": true,
"self_trade_prevention_mode": "CONTROL_GROUP_REJECT",
"control_group_version": "<string>",
"valid_from": "2023-11-07T05:31:56Z",
"valid_until": "2023-11-07T05:31:56Z",
"mapping_valid_from": "2023-11-07T05:31:56Z",
"mapping_valid_until": "2023-11-07T05:31:56Z"
}
}
],
"rule_profile": {
"version": "<string>",
"venue": "<string>",
"market_class": "<string>",
"private_rail": "PRIVATE_BLOCK",
"price_tick_atoms": 2,
"quantity_tick_atoms": 2,
"minimum_block_atoms": 1,
"minimum_leg_atoms": 1,
"maximum_allocation_atoms": 2,
"atomic_private_execution": true,
"public_benchmark_fee_scale_ppm": 500000,
"public_benchmark_max_age_ms": 2500,
"benchmark_calculation_version": "<string>",
"valid_until": "2023-11-07T05:31:56Z",
"private_fee_profile": {
"fee_profile_id": "<string>",
"fee_profile_version": "<string>",
"model": "NONE",
"rate_ppm": 0,
"fixed_fee_atoms": 123,
"minimum_fee_atoms": 1,
"prediction_fee_scale_ppm": 0,
"rounding_mode": "AGAINST_ORIGINATOR",
"valid_until": "2023-11-07T05:31:56Z"
},
"minimum_scorecard_sample_count": 10,
"maximum_scorecard_age_ms": 2
},
"client_metadata": {},
"invitation_delivery": {
"requested_count": 8,
"delivered_count": 8,
"by_transport": {
"BROWSER": 8,
"FIX": 8
},
"participants": [
{
"participant_id": "<string>",
"delivered": true,
"transport": "BROWSER",
"delivered_at": "2023-11-07T05:31:56Z"
}
],
"last_delivered_at": "2023-11-07T05:31:56Z"
},
"state": "PENDING_INVITATIONS",
"final_reason": "OBJECTIVE_REACHED",
"cancellation_reason_code": "UNSPECIFIED",
"cancellation_note": "<string>",
"reason_history": [
{
"reason": "<string>",
"stage": "<string>",
"occurred_at": "2023-11-07T05:31:56Z",
"contributing": true,
"rung_index": 1
}
],
"minimum_tranche_established": true,
"allocation_calculation_version": "<string>",
"capacity_authority_status": "PENDING_VENUE_RECONCILIATION",
"capacity_covered_by_source_sequence": "<string>",
"capacity_covered_at": "2023-11-07T05:31:56Z",
"capacity_portfolio_watermark": "<string>",
"open_time": "2023-11-07T05:31:56Z",
"close_time": "2023-11-07T05:31:56Z",
"finalized_at": "2023-11-07T05:31:56Z",
"sequence": "<string>"
},
"originator_identity": "<string>",
"audience_participant_ids": [
"<string>"
],
"own_quote": {
"quote_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"auction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"revision": "<string>",
"price_atoms": 5000,
"max_executable_quantity_atoms": 123,
"receive_sequence": "<string>",
"received_at": "2023-11-07T05:31:56Z",
"status": "ACTIVE"
},
"allocations": [
{
"allocation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"price_atoms": 5000,
"quantity_atoms": 123,
"rail": "PRIVATE_BLOCK",
"venue": "<string>",
"minimum_tranche": true,
"execution_status": "PLANNED",
"participant_id": "<string>",
"venue_execution_id": "<string>",
"confirmed_quantity_atoms": 123,
"confirmed_price_atoms": 5000,
"expected_fee_atoms": "<string>",
"expected_all_in_value_atoms": "<string>",
"confirmed_fee_atoms": "<string>",
"confirmed_all_in_value_atoms": "<string>",
"rung_index": 1,
"submitted_at": "2023-11-07T05:31:56Z",
"acknowledged_at": "2023-11-07T05:31:56Z",
"finalized_at": "2023-11-07T05:31:56Z"
}
]
},
"duplicate": true
}{
"error": "<string>",
"message": "<string>"
}{
"error": "unauthorized",
"message": "authentication required"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "IDEMPOTENCY_CONFLICT",
"message": "IDEMPOTENCY_CONFLICT"
}{
"error": "payload_too_large"
}{
"error": "auction_rejected",
"message": "auction is not open"
}{
"error": "auction_mutation_rate_limited",
"message": "auction mutation rate limit exceeded"
}{
"error": "internal_error",
"message": "auction request could not be completed"
}{
"error": "auction_owner_unavailable"
}
