catalog

Embed
Preview of the card
<a href="https://hermeticor.com/docs/ref-catalog"><img src="https://hermeticor.com/docs/_api/public/orgs/5fcd8b3c-a27c-4688-972f-de710125592f/spaces/caf5dc05-15f7-4e0c-bdb8-ab29ede6211e/pages/9fc720ba-4c3d-4e83-bd29-1f3b952f36da/social-card.svg?v=3e7ae33eec8b" alt="catalog" width="600" height="315"></a>
GEThttps://hermeticor.com/v1/catalog/feeds

Parameters

limitintegerquery
Page size; omitted returns the whole list
cursorstringquery
Opaque: the nextCursor of the previous page

Code samples

cURL
curl -X GET "https://hermeticor.com/v1/catalog/feeds" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "items": [
    {
      "id": "string",
      "name": "string",
      "url": "string",
      "format": "json",
      "refreshHours": 0,
      "lastSyncedAt": "2024-01-01T00:00:00Z",
      "lastError": "string",
      "itemCount": 0
    }
  ],
  "nextCursor": "string"
}
Schema
itemsItemsItem89[]required
Show child parameters
idstringrequired
namestringrequired
urlstringrequired
formatstringrequired
json | csv | google_merchant
refreshHoursintegerrequired
lastSyncedAtstringrequired
lastErrorstringrequired
itemCountintegerrequired
nextCursorstringrequired
4XX Default Response
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "details": {}
  }
}
Schema
errorobjectrequired
Show child parameters
codestringrequired
messagestringrequired
detailsobject
5XX Default Response

Same as 4XX · GET /v1/catalog/feeds

POSThttps://hermeticor.com/v1/catalog/feeds

Register a JSON/CSV/Google Merchant feed; the first sync is queued immediately

Request body

application/json
namestringrequired
urlstringrequired
formatstringrequired
json | csv | google_merchant
refreshHoursinteger
= 24
{
  "name": "string",
  "url": "string",
  "format": "json",
  "refreshHours": 24
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/catalog/feeds" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","url":"string","format":"json","refreshHours":24}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

201 Default Response
Example
{
  "id": "string",
  "name": "string",
  "url": "string",
  "format": "json",
  "refreshHours": 0,
  "lastSyncedAt": "2024-01-01T00:00:00Z",
  "lastError": "string",
  "itemCount": 0
}
Schema
idstringrequired
namestringrequired
urlstringrequired
formatstringrequired
json | csv | google_merchant
refreshHoursintegerrequired
lastSyncedAtstringrequired
lastErrorstringrequired
itemCountintegerrequired
4XX Default Response

Same as 4XX · GET /v1/catalog/feeds

5XX Default Response

Same as 4XX · GET /v1/catalog/feeds

DELETEhttps://hermeticor.com/v1/catalog/feeds/{id}

Parameters

idstringpathrequired

Code samples

cURL
curl -X DELETE "https://hermeticor.com/v1/catalog/feeds/{id}" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "ok": true
}
Schema
okbooleanrequired
true
4XX Default Response

Same as 4XX · GET /v1/catalog/feeds

5XX Default Response

Same as 4XX · GET /v1/catalog/feeds

GEThttps://hermeticor.com/v1/catalog/feeds/{id}/items

Parameters

limitintegerquery
Page size; omitted returns the whole list
cursorstringquery
Opaque: the nextCursor of the previous page
idstringpathrequired

Code samples

cURL
curl -X GET "https://hermeticor.com/v1/catalog/feeds/{id}/items" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "items": [
    {
      "id": "string",
      "feedId": "string",
      "externalId": "string",
      "title": "string",
      "url": "string",
      "imageUrl": "string",
      "priceMinor": 0,
      "currency": "string",
      "inventory": 0
    }
  ],
  "nextCursor": "string"
}
Schema
itemsobject[]required
Show child parameters
idstringrequired
feedIdstringrequired
externalIdstringrequired
titlestringrequired
urlstringrequired
imageUrlstringrequired
priceMinorintegerrequired
currencystringrequired
inventoryintegerrequired
nextCursorstringrequired
4XX Default Response

Same as 4XX · GET /v1/catalog/feeds

5XX Default Response

Same as 4XX · GET /v1/catalog/feeds

POSThttps://hermeticor.com/v1/catalog/subscriptions

Notify a profile (by id, email or phone; one variant or the whole product; by email, SMS or push) when the product is back in stock or drops in price

Request body

application/json
profileIdstring
emailstring
phonestring
externalIdstringrequired
kindstringrequired
back_in_stock | price_drop
variantIdstring
channelstring
email | sms | push
{
  "profileId": "string",
  "email": "string",
  "phone": "string",
  "externalId": "string",
  "kind": "back_in_stock",
  "variantId": "string",
  "channel": "email"
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/catalog/subscriptions" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"profileId":"string","email":"string","phone":"string","externalId":"string","kind":"back_in_stock","variantId":"string","channel":"email"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

201 Default Response
Example
{
  "ok": true,
  "profileId": "string"
}
Schema
okbooleanrequired
true
profileIdstringrequired
4XX Default Response

Same as 4XX · GET /v1/catalog/feeds

5XX Default Response

Same as 4XX · GET /v1/catalog/feeds

GEThttps://hermeticor.com/v1/coupon-pools

Parameters

limitintegerquery
Page size; omitted returns the whole list
cursorstringquery
Opaque: the nextCursor of the previous page

Code samples

cURL
curl -X GET "https://hermeticor.com/v1/coupon-pools" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "items": [
    {
      "id": "string",
      "name": "string",
      "kind": "string",
      "lowStockThreshold": 0,
      "total": 0,
      "available": 0,
      "description": "string",
      "discountType": "string",
      "amount": 0,
      "target": "string",
      "startsAt": "2024-01-01T00:00:00Z",
      "endsAt": "2024-01-01T00:00:00Z",
      "enabled": true,
      "redemptionUrl": "string",
      "maxUses": 0
    }
  ],
  "nextCursor": "string"
}
Schema
itemsItemsItem90[]required
Show child parameters
idstringrequired
namestringrequired
kindstringrequired
lowStockThresholdintegerrequired
totalintegerrequired
availableintegerrequired
descriptionstringrequired
discountTypestringrequired
amountintegerrequired
targetstringrequired
startsAtstringrequired
endsAtstringrequired
enabledbooleanrequired
redemptionUrlstringrequired
maxUsesintegerrequired
nextCursorstringrequired
4XX Default Response

Same as 4XX · GET /v1/catalog/feeds

5XX Default Response

Same as 4XX · GET /v1/catalog/feeds

POSThttps://hermeticor.com/v1/coupon-pools

Request body

application/json
namestringrequired
kindstring
static | unique = unique
lowStockThresholdinteger
= 100
descriptionstring
discountTypestring
fixed | percentage | shipping
amountinteger
targetstring
per_item | total | shipping
startsAtstring
endsAtstring
enabledboolean
redemptionUrlstring
maxUsesinteger
= 1
{
  "name": "string",
  "kind": "unique",
  "lowStockThreshold": 100,
  "description": "string",
  "discountType": "fixed",
  "amount": 0,
  "target": "per_item",
  "startsAt": "2024-01-01T00:00:00Z",
  "endsAt": "2024-01-01T00:00:00Z",
  "enabled": true,
  "redemptionUrl": "string",
  "maxUses": 1
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/coupon-pools" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","kind":"unique","lowStockThreshold":100,"description":"string","discountType":"fixed","amount":0,"target":"per_item","startsAt":"2024-01-01T00:00:00Z","endsAt":"2024-01-01T00:00:00Z","enabled":true,"redemptionUrl":"string","maxUses":1}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

201 Default Response
Example
{
  "id": "string",
  "name": "string",
  "kind": "string",
  "lowStockThreshold": 0,
  "total": 0,
  "available": 0,
  "description": "string",
  "discountType": "string",
  "amount": 0,
  "target": "string",
  "startsAt": "2024-01-01T00:00:00Z",
  "endsAt": "2024-01-01T00:00:00Z",
  "enabled": true,
  "redemptionUrl": "string",
  "maxUses": 0
}
Schema
idstringrequired
namestringrequired
kindstringrequired
lowStockThresholdintegerrequired
totalintegerrequired
availableintegerrequired
descriptionstringrequired
discountTypestringrequired
amountintegerrequired
targetstringrequired
startsAtstringrequired
endsAtstringrequired
enabledbooleanrequired
redemptionUrlstringrequired
maxUsesintegerrequired
4XX Default Response

Same as 4XX · GET /v1/catalog/feeds

5XX Default Response

Same as 4XX · GET /v1/catalog/feeds

Updated