Skip to main content
Rezolve Ai
API ReferenceFeeds

Create a feed

POST
/feeds

Create a feed your platform can push products into, or that we pull from a URL you host. This is the entry point for a merchant who is not on Shopify or WooCommerce.

By default the response also mints the HMAC signing secret for POST /feeds/{id}/events. That secret is returned exactly once. Store it before you close the response; rotating is the only way to get another.

The call is safe to repeat. A name the project already has returns that feed with 200 and created: false, and changes nothing about it: no new secret is issued and its source is left alone.

Authorization

headerAuthorizationBearer <API key>

API key in the Authorization header: Authorization: Bearer ace_live_.... Use an ace_test_... key for the free, rate-capped sandbox.

Request Body

application/json
  1. body
projectId?string

Required for an account-wide key.

name*string

Display name, unique within the project.

Lengthlength <= 200
source?string

url polls a file you host on a schedule; api waits for signed delta pushes. A feed can do both.

Default"api"
Value in"url""api"
sourceUrl?string

Required when source is url. Must be publicly reachable; private and internal addresses are rejected.

refreshCron?string

Standard cron. Runs no more often than every 30 minutes.

refreshTimezone?string
Default"UTC"
createIngestSecret?boolean
Defaulttrue
refreshNow?boolean

Pull the URL immediately rather than waiting for the schedule.

Defaultfalse

Response Body

The project already has a feed with this name. It is returned as it is and nothing was changed.

application/json
  1. response
data?
Example Request
curl -X POST 'https://example.com/api/v1/feeds' \  -H 'Content-Type: application/json' \  -d '{  "name": "string"}'
Example Response
{  "data": {    "feedId": "string",    "projectId": "string",    "name": "string",    "source": "string",    "eventsUrl": "string",    "ingestSecret": "string",    "sourceError": "string",    "created": true  }}