Catalog Management
POST /public/catalogs
Create a catalog with an initial JSON Schema.
Response: The created catalog object.
GET /public/catalogs
List all catalogs in your account.
Response:
GET /public/catalogs/
Get details of a specific catalog. Response: Same shape as a single catalog object from the list endpoint.PUT /public/catalogs/
Update catalog settings. Only provided fields are changed; omitted fields remain unchanged.
Response: The updated catalog object.
DELETE /public/catalogs/
Delete a catalog and all its data (items, schema, snapshots).Schema Management
GET /public/catalogs//schema
Get the current schema definition, including field metadata and workflow tracking.POST /public/catalogs//schema/fields
Add a new field to the catalog schema. Creates a new schema version.
Response:
PUT /public/catalogs//schema/fields/batch
Add, update, and/or remove multiple fields in one atomic operation.
Response: Same shape as POST schema/fields response.
Taxonomy Management
GET /public/catalogs//taxonomy
Get the catalog’s taxonomy with computed inheritance (levels, paths, inherited attributes). Returnsnull if no taxonomy is configured.
If-None-Match header — returns 304 Not Modified when unchanged.
PUT /public/catalogs//taxonomy
Set or replace the catalog taxonomy. Creates a new schema version.DELETE /public/catalogs//taxonomy
Remove taxonomy from the catalog. Creates a new schema version without taxonomy.204 No Content
Catalog Context
GET /public/catalogs//catalog-md
Get the catalog’s markdown context (injected into enrichment and mapping prompts).PUT /public/catalogs//catalog-md
Update the catalog’s markdown context directly (versioned).You can also update
catalog_md via PUT /public/catalogs/{catalog_id} by including the catalog_md field in the request body.GET /public/catalogs//quality-prompt
Get the catalog’s quality prompt (used by the judge and readiness checks).PUT /public/catalogs//quality-prompt
Set the quality prompt.Item Management
GET /public/catalogs//items
List items in a catalog with pagination, search, and sorting.
Response:
GET /public/catalogs//items/
Get a single item by database ID. Response: Single item in the same shape as list items.POST /public/catalogs//items
Upsert a single item. Put the business identifier insidedata (for example, {"sku": "A1"}); the legacy unique_identifier field is still required by the request shape but is not used as a separate selector.
Response: The created or updated item.
PUT /public/catalogs//items/
Update a single item. Only the fields you provide will be updated. Request Body: Any fields to update (dynamic schema). Response: The updated item.DELETE /public/catalogs//items/
Delete a single item. Response:POST /public/catalogs//items/bulk
Create or update up to 1000 items at once. Include your business key fields, such assku, in each item object.
There is no
unique_field query parameter. Put the business key fields directly in each item object.Product Variant Management
Use these endpoints when a catalog groups variants under a product item. The{product_id} path parameter is the parent product item’s database ID, not the business product_id field value stored in row data.
POST /public/catalogs//products//items
Create one variant under a product.PUT /public/catalogs//products/
Update product-level fields shared by variants.POST /public/catalogs//products//items/bulk
Bulk upsert variants for one product.Enriching Catalog Items
To enrich items in a catalog, use the Enrich API with thecatalog_id parameter. The catalog’s schema and taxonomy are automatically applied.
Snapshots
GET /public/catalogs//snapshots
List catalog snapshots.POST /public/catalogs//snapshots
Create a snapshot. Request body:{"reason": "Before migration"}.
POST /public/catalogs//snapshots//restore
Restore from a snapshot. Automatically creates a safety snapshot first.MCP-Oriented Endpoints
These endpoints are commonly used by Rastro MCP servers for large catalog workflows:GET /public/catalogs/{catalog_id}/raw-itemsfor full-fidelity catalog row pulls. Supportslimit(1-5000, default 1000),offset,entity_type=product|variant,search,sort_field, andsort_order=asc|descGET /public/catalogs/{catalog_id}/raw-items/{item_id}for a single raw catalog rowGET /public/catalogs/{catalog_id}/activitiesto audit pending/completed activitiesPOST /public/catalogs/{catalog_id}/activitiesto create activity shellsPOST /public/catalogs/{catalog_id}/activities/custom-transformto create a custom transform activityPOST /public/catalogs/{catalog_id}/activities/{activity_id}/save-workflowto save an activity as a workflowPOST /public/activities/{activity_id}/staged-changes/appendto append staged changes in chunksPOST /public/activities/{activity_id}/pending-reviewto finalize one review activity
status, type, limit, and offset query parameters. Snapshots support snapshot_type, limit, and offset.
See MCP Reference for full workflow guidance.