Create or update a catalogue item
using System.Net.Http.Headers;var client = new HttpClient();var request = new HttpRequestMessage{ Method = HttpMethod.Post, RequestUri = new Uri("https://dashboard.azimea.com/api/v1/items"), Headers = { { "Authorization", "Bearer <token>" }, }, Content = new StringContent("{ \"id\": \"plan-pro\", \"kind\": \"plan\", \"name\": \"Pro plan\", \"description\": \"Unlimited projects and priority support.\", \"url\": \"https://example.com/pricing#pro\", \"imageUrl\": \"https://example.com/img/pro.png\", \"price\": 49, \"comparePrice\": 59, \"currency\": \"EUR\", \"inStock\": true, \"stockQuantity\": null, \"categories\": [ \"plans\" ], \"attributes\": { \"billing\": \"monthly\", \"seats\": 5 }, \"active\": true }") { Headers = { ContentType = new MediaTypeHeaderValue("application/json") } }};using (var response = await client.SendAsync(request)){ response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);}const url = 'https://dashboard.azimea.com/api/v1/items';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"id":"plan-pro","kind":"plan","name":"Pro plan","description":"Unlimited projects and priority support.","url":"https://example.com/pricing#pro","imageUrl":"https://example.com/img/pro.png","price":49,"comparePrice":59,"currency":"EUR","inStock":true,"stockQuantity":null,"categories":["plans"],"attributes":{"billing":"monthly","seats":5},"active":true}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://dashboard.azimea.com/api/v1/items \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "id": "plan-pro", "kind": "plan", "name": "Pro plan", "description": "Unlimited projects and priority support.", "url": "https://example.com/pricing#pro", "imageUrl": "https://example.com/img/pro.png", "price": 49, "comparePrice": 59, "currency": "EUR", "inStock": true, "stockQuantity": null, "categories": [ "plans" ], "attributes": { "billing": "monthly", "seats": 5 }, "active": true }'Adds a product, plan or service from your own system to the catalogue Azimea recommends in emails, or updates it. id is your own id for the item: sending the same id again updates the same item, and a field left out keeps its value. A new item defaults to a product, in stock and active; kind is product, plan, service or other. To stop recommending an item but keep its history, send active: false instead of deleting it. Items synced from a connected store are not written here. Needs the items:write permission. Refusals come back as catalog.* codes on the field, for example catalog.item_name_missing, catalog.item_currency_invalid, or catalog.items_limit once the catalogue holds 100,000 items.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”object
Example
plan-proExample
planExample
Pro planExample
Unlimited projects and priority support.Example
https://example.com/pricing#proExample
https://example.com/img/pro.pngExample
49Example
59Example
EURExample
trueExample
nullExample
[ "plans"]object
Example
{ "billing": "monthly", "seats": 5}Example
trueExample
{ "id": "plan-pro", "kind": "plan", "name": "Pro plan", "description": "Unlimited projects and priority support.", "url": "https://example.com/pricing#pro", "imageUrl": "https://example.com/img/pro.png", "price": 49, "comparePrice": 59, "currency": "EUR", "inStock": true, "stockQuantity": null, "categories": [ "plans" ], "attributes": { "billing": "monthly", "seats": 5 }, "active": true}Responses
Section titled “Responses”The item as stored
object
object
object
object
object
object
object
object
Example
{ "isSuccess": true, "value": { "id": "01a10900-0000-7000-8000-000000000001", "source": "api", "storeId": null, "externalId": "plan-pro", "kind": "plan", "name": "Pro plan", "description": "Unlimited projects and priority support.", "url": "https://example.com/pricing#pro", "imageUrl": "https://example.com/img/pro.png", "price": 49, "comparePrice": 59, "currency": "EUR", "inStock": true, "stockQuantity": null, "categories": [ "plans" ], "attributes": { "billing": "monthly", "seats": 5 }, "active": true, "createdAt": "2026-10-05T09:00:00+00:00", "updatedAt": null }, "status": 0, "errors": [], "fieldErrors": null}Missing or invalid API key
The key lacks the items:write permission