Accept an offer on your listing
curl --request POST \
--url https://api.ornn.com/v1/markets/schedules/{listingId}/offers/{offerId}/accept \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.ornn.com/v1/markets/schedules/{listingId}/offers/{offerId}/accept"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.ornn.com/v1/markets/schedules/{listingId}/offers/{offerId}/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.ornn.com/v1/markets/schedules/{listingId}/offers/{offerId}/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 => [
"Authorization: Bearer <token>"
],
]);
$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.ornn.com/v1/markets/schedules/{listingId}/offers/{offerId}/accept"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.ornn.com/v1/markets/schedules/{listingId}/offers/{offerId}/accept")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ornn.com/v1/markets/schedules/{listingId}/offers/{offerId}/accept")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"offer": {
"offerId": "99999999-9999-4999-8999-999999999999",
"listingId": "77777777-7777-4777-8777-777777777777",
"listingTermId": "88888888-8888-4888-8888-888888888888",
"startsAt": "2026-10-15T00:00:00.000Z",
"endsAt": "2026-11-14T00:00:00.000Z",
"pricePerGpuHourMicroUsd": 2400000,
"downPaymentCents": 500000,
"status": "accepted",
"cancelReason": null,
"createdAt": "2026-10-14T18:30:00.000Z",
"acceptedAt": "2026-10-15T09:00:00.000Z",
"isMine": false,
"onMyListing": true
},
"reservationId": "99999999-9999-4999-8999-999999999999"
}{
"code": "<string>",
"detail": "<string>"
}{
"code": "<string>",
"detail": "<string>"
}{
"detail": {
"code": "offer_not_found",
"message": "Ornn could not find that offer."
}
}{
"detail": {
"code": "offer_not_open",
"message": "This offer is no longer open."
}
}{
"detail": {
"code": "offer_below_minimum",
"message": "Offer more per GPU-hour for this listing."
}
}{
"code": "<string>",
"detail": "<string>"
}Accept an offer on your listing
For organizations that own a Reserve listing. Accepting sells the offer’s window to the buyer: the window starts at the later of the offer’s start and now. The buyer’s reservation has the offer’s ID. Other open offers that overlap the window are cancelled. Repeating the call on an accepted offer returns it again. No request body is needed.
POST
/
v1
/
markets
/
schedules
/
{listingId}
/
offers
/
{offerId}
/
accept
Accept an offer on your listing
curl --request POST \
--url https://api.ornn.com/v1/markets/schedules/{listingId}/offers/{offerId}/accept \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.ornn.com/v1/markets/schedules/{listingId}/offers/{offerId}/accept"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.ornn.com/v1/markets/schedules/{listingId}/offers/{offerId}/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.ornn.com/v1/markets/schedules/{listingId}/offers/{offerId}/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 => [
"Authorization: Bearer <token>"
],
]);
$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.ornn.com/v1/markets/schedules/{listingId}/offers/{offerId}/accept"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.ornn.com/v1/markets/schedules/{listingId}/offers/{offerId}/accept")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ornn.com/v1/markets/schedules/{listingId}/offers/{offerId}/accept")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"offer": {
"offerId": "99999999-9999-4999-8999-999999999999",
"listingId": "77777777-7777-4777-8777-777777777777",
"listingTermId": "88888888-8888-4888-8888-888888888888",
"startsAt": "2026-10-15T00:00:00.000Z",
"endsAt": "2026-11-14T00:00:00.000Z",
"pricePerGpuHourMicroUsd": 2400000,
"downPaymentCents": 500000,
"status": "accepted",
"cancelReason": null,
"createdAt": "2026-10-14T18:30:00.000Z",
"acceptedAt": "2026-10-15T09:00:00.000Z",
"isMine": false,
"onMyListing": true
},
"reservationId": "99999999-9999-4999-8999-999999999999"
}{
"code": "<string>",
"detail": "<string>"
}{
"code": "<string>",
"detail": "<string>"
}{
"detail": {
"code": "offer_not_found",
"message": "Ornn could not find that offer."
}
}{
"detail": {
"code": "offer_not_open",
"message": "This offer is no longer open."
}
}{
"detail": {
"code": "offer_below_minimum",
"message": "Offer more per GPU-hour for this listing."
}
}{
"code": "<string>",
"detail": "<string>"
}CLI equivalent:
ornn offers accept --listing-id <listing-id> --offer-id <offer-id> --yes.Authorizations
Create an organization API key in Account Settings > Developer. Do not send this key to the Kubernetes API server.
Path Parameters
Listing ID (capacityListingId or listingId).
Offer ID.
Was this page helpful?