API reference
Feeds
Every catalog renders to four hosted artifacts — ACP CSV, ACP JSON, Google Merchant Center TSV, and schema.org JSON-LD — at stable tokenized URLs.
List feed URLs
GET
/api/v1/feedsTokenized URLs for every feed surface plus the last render run. Requires the read scope. The URLs are public capability URLs — hand them to your agent integrations directly; see publishing feeds.
bash
curl https://useshelfready.com/api/v1/feeds \
-H "Authorization: Bearer $SHELFREADY_API_KEY"response.json
{
"data": {
"feeds": [
{
"file": "acp.csv",
"content_type": "text/csv; charset=utf-8",
"url": "https://useshelfready.com/f/alpine-outdoor/6b1f…9c4e/acp.csv"
},
{
"file": "acp.json",
"content_type": "application/json",
"url": "https://useshelfready.com/f/alpine-outdoor/6b1f…9c4e/acp.json"
},
{
"file": "gmc.tsv",
"content_type": "text/tab-separated-values; charset=utf-8",
"url": "https://useshelfready.com/f/alpine-outdoor/6b1f…9c4e/gmc.tsv"
},
{
"file": "jsonld.json",
"content_type": "application/json",
"url": "https://useshelfready.com/f/alpine-outdoor/6b1f…9c4e/jsonld.json"
}
],
"last_render": {
"run_id": "0f1e2d3c-4b5a-6978-8796-a5b4c3d2e1f0",
"status": "succeeded",
"stats": { "items": 1284 },
"started_at": "2026-07-17T09:12:00.000Z",
"finished_at": "2026-07-17T09:12:02.000Z"
}
}
}Re-render feeds
POST
/api/v1/feedsRegenerate all four feed artifacts now. Feeds also re-render automatically after every sync, so you only need this after out-of-band changes (for example, approving enrichment proposals). A failed render returns 422; each successful render emits a feeds.rendered webhook. Requires the write scope.
render.sh
curl -X POST https://useshelfready.com/api/v1/feeds \
-H "Authorization: Bearer $SHELFREADY_API_KEY"