curl --request GET \
--url https://www.closient.com/retailers/api/v1/organizations/{organization_id}/online-offers \
--header 'X-API-Key: <api-key>'import requests
url = "https://www.closient.com/retailers/api/v1/organizations/{organization_id}/online-offers"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://www.closient.com/retailers/api/v1/organizations/{organization_id}/online-offers', 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://www.closient.com/retailers/api/v1/organizations/{organization_id}/online-offers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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://www.closient.com/retailers/api/v1/organizations/{organization_id}/online-offers"
req, _ := http.NewRequest("GET", 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.get("https://www.closient.com/retailers/api/v1/organizations/{organization_id}/online-offers")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.closient.com/retailers/api/v1/organizations/{organization_id}/online-offers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"delivery_countries": [
"US",
"CA"
],
"fulfillment_type": "prime",
"id": "d5e6f7a8-9012-3456-abcd-ef7890123456",
"is_verified": false,
"lead_time_days": 2,
"metadata": {
"feed_id": "amzn-2026-q2"
},
"min_order_quantity": 1,
"online_store_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"organization_id": "9b2c3d4e-f5a6-7890-abcd-ef1234567890",
"price": {
"amount": "5.99",
"currency": "USD"
},
"product_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"shipping_cost": {
"amount": "0.00",
"currency": "USD"
},
"sku": "AMZ-TM-12OZ",
"source": "affiliate_feed",
"status": "active",
"stock_level": "in_stock",
"url": "https://www.amazon.com/dp/B001234"
}
],
"pagination": {
"has_next": true,
"has_previous": false,
"page": 1,
"page_size": 25,
"total_count": 342,
"total_pages": 14
}
}{
"detail": "The requested resource was not found.",
"error_code": "not_found",
"retryable": false,
"status": 404,
"timestamp": "2026-03-31T12:00:00+00:00",
"title": "Not Found",
"type": "https://closient.com/docs/errors/not_found"
}{
"detail": "The requested resource was not found.",
"error_code": "not_found",
"retryable": false,
"status": 404,
"timestamp": "2026-03-31T12:00:00+00:00",
"title": "Not Found",
"type": "https://closient.com/docs/errors/not_found"
}{
"detail": "The requested resource was not found.",
"error_code": "not_found",
"retryable": false,
"status": 404,
"timestamp": "2026-03-31T12:00:00+00:00",
"title": "Not Found",
"type": "https://closient.com/docs/errors/not_found"
}{
"detail": "The requested resource was not found.",
"error_code": "not_found",
"retryable": false,
"status": 404,
"timestamp": "2026-03-31T12:00:00+00:00",
"title": "Not Found",
"type": "https://closient.com/docs/errors/not_found"
}{
"detail": "The requested resource was not found.",
"error_code": "not_found",
"retryable": false,
"status": 404,
"timestamp": "2026-03-31T12:00:00+00:00",
"title": "Not Found",
"type": "https://closient.com/docs/errors/not_found"
}{
"detail": "The requested resource was not found.",
"error_code": "not_found",
"retryable": false,
"status": 404,
"timestamp": "2026-03-31T12:00:00+00:00",
"title": "Not Found",
"type": "https://closient.com/docs/errors/not_found"
}{
"detail": "The requested resource was not found.",
"error_code": "not_found",
"retryable": false,
"status": 404,
"timestamp": "2026-03-31T12:00:00+00:00",
"title": "Not Found",
"type": "https://closient.com/docs/errors/not_found"
}List online offers
Return online (web-storefront) offers for the given organization — by default the ones it submitted; with scope=on_products, also the unverified offers other organizations submitted on products it owns. Results are paginated with the standard {data, pagination} envelope; default page_size is 25, max is 100. Returns 404 when the organization does not exist or the caller lacks the VIEW permission on it.
curl --request GET \
--url https://www.closient.com/retailers/api/v1/organizations/{organization_id}/online-offers \
--header 'X-API-Key: <api-key>'import requests
url = "https://www.closient.com/retailers/api/v1/organizations/{organization_id}/online-offers"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://www.closient.com/retailers/api/v1/organizations/{organization_id}/online-offers', 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://www.closient.com/retailers/api/v1/organizations/{organization_id}/online-offers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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://www.closient.com/retailers/api/v1/organizations/{organization_id}/online-offers"
req, _ := http.NewRequest("GET", 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.get("https://www.closient.com/retailers/api/v1/organizations/{organization_id}/online-offers")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.closient.com/retailers/api/v1/organizations/{organization_id}/online-offers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"delivery_countries": [
"US",
"CA"
],
"fulfillment_type": "prime",
"id": "d5e6f7a8-9012-3456-abcd-ef7890123456",
"is_verified": false,
"lead_time_days": 2,
"metadata": {
"feed_id": "amzn-2026-q2"
},
"min_order_quantity": 1,
"online_store_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"organization_id": "9b2c3d4e-f5a6-7890-abcd-ef1234567890",
"price": {
"amount": "5.99",
"currency": "USD"
},
"product_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"shipping_cost": {
"amount": "0.00",
"currency": "USD"
},
"sku": "AMZ-TM-12OZ",
"source": "affiliate_feed",
"status": "active",
"stock_level": "in_stock",
"url": "https://www.amazon.com/dp/B001234"
}
],
"pagination": {
"has_next": true,
"has_previous": false,
"page": 1,
"page_size": 25,
"total_count": 342,
"total_pages": 14
}
}{
"detail": "The requested resource was not found.",
"error_code": "not_found",
"retryable": false,
"status": 404,
"timestamp": "2026-03-31T12:00:00+00:00",
"title": "Not Found",
"type": "https://closient.com/docs/errors/not_found"
}{
"detail": "The requested resource was not found.",
"error_code": "not_found",
"retryable": false,
"status": 404,
"timestamp": "2026-03-31T12:00:00+00:00",
"title": "Not Found",
"type": "https://closient.com/docs/errors/not_found"
}{
"detail": "The requested resource was not found.",
"error_code": "not_found",
"retryable": false,
"status": 404,
"timestamp": "2026-03-31T12:00:00+00:00",
"title": "Not Found",
"type": "https://closient.com/docs/errors/not_found"
}{
"detail": "The requested resource was not found.",
"error_code": "not_found",
"retryable": false,
"status": 404,
"timestamp": "2026-03-31T12:00:00+00:00",
"title": "Not Found",
"type": "https://closient.com/docs/errors/not_found"
}{
"detail": "The requested resource was not found.",
"error_code": "not_found",
"retryable": false,
"status": 404,
"timestamp": "2026-03-31T12:00:00+00:00",
"title": "Not Found",
"type": "https://closient.com/docs/errors/not_found"
}{
"detail": "The requested resource was not found.",
"error_code": "not_found",
"retryable": false,
"status": 404,
"timestamp": "2026-03-31T12:00:00+00:00",
"title": "Not Found",
"type": "https://closient.com/docs/errors/not_found"
}{
"detail": "The requested resource was not found.",
"error_code": "not_found",
"retryable": false,
"status": 404,
"timestamp": "2026-03-31T12:00:00+00:00",
"title": "Not Found",
"type": "https://closient.com/docs/errors/not_found"
}Authorizations
Path Parameters
UUID of the organization that owns the offers.
22^[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22}$Query Parameters
submitted (default) returns the offers this organization submitted. on_products adds the unverified offers other organizations submitted on products this organization owns — those are hidden from public surfaces, and the owner may delete them. Closient-ingested and verified offers are not included.
submitted, on_products Page number (1-indexed).
x >= 1Number of items per page (max 100).
1 <= x <= 100Response
OK
Items on the current page, each conforming to the endpoint's item schema. Empty when the result set is empty or page is past the end.
Show child attributes
Show child attributes
Pagination envelope describing position within the full result set.
Show child attributes
Show child attributes
{ "has_next": true, "has_previous": false, "page": 1, "page_size": 25, "total_count": 342, "total_pages": 14 }