Gett Developer Portal
  • Welcome
  • Distribution Partners
  • Brand Partners
  • Commerce Partners
  • Ecosystem Partners
  • Errors
  • API Reference
Documentation
  • Get Started
  • Marketfront SDK
  • API Reference
Resources
  • Payments
Company
  • Gett
  • Terms of Service
  • Privacy Policy

Copyright 2026 Gett. All rights reserved.

Information
Catalog
    Notify Catalog UpdatepostGet Catalog Ingest Statusget
Store Status
    Get Store StatusgetSet Store Statuspost
Schemas
powered by Zuplo
Gett Commerce Partner API
Gett Commerce Partner API

Catalog

Catalog synchronization using a pull model. You host the CatalogSet JSON on a publicly accessible URL (e.g., S3, CloudFront), then notify Gett when it changes. Gett asynchronously downloads and processes the update.

The CatalogSet format is identical to the Marketfront API — a normalized dictionary structure with catalogs, sections, items, and modifier groups.

Best practices:

  • Treat every push as a full replacement (no partial patches)
  • Keep item IDs stable across updates to preserve analytics and favorites
  • Validate your JSON against the schema before notifying — invalid references cause ingestion failures

Notify Catalog Update

POST
https://api.gett-tech.com
/v1/commerce/catalogset-notification

Notify Gett that a store's CatalogSet has changed. Gett will asynchronously download the new CatalogSet from the provided callbackUrl.

This follows a pull model: you host the CatalogSet JSON on a publicly accessible URL, then call this endpoint to trigger a pull. The response is 202 Accepted and returns a catalogIngestId plus a statusUrl. Ingestion happens asynchronously, so poll statusUrl (honoring the Retry-After header) until the run reaches a terminal succeeded or failed — don't assume success from the 202 alone.

Best practices:

  • Treat every notification as a full catalog replacement (no partial patches)
  • Keep item IDs stable across updates to preserve analytics and user favorites
  • Validate your JSON against the CatalogSet schema before notifying — invalid references (e.g., an item ID not in the items dictionary) cause ingestion to end as failed
  • Poll statusUrl to confirm succeeded; a reachable callbackUrl that returns valid JSON is required or the run fails

Notify Catalog Update › query Parameters

storeId
​string · uuid · required

Your internal Store ID

Notify Catalog Update › Headers

Authorization
​string · required

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Notify Catalog Update › Request Body

Request body for `POST /v1/commerce/catalogset-notification`. Only the catalog location is sent on the wire; the target store is identified by the `storeId` query parameter.
CatalogSetNotification
callbackUrl
​string · minLength: 1 · required

URL where Gett can download the CatalogSet JSON.

Notify Catalog Update › Responses

Notification accepted. Poll the returned statusUrl for the ingest outcome.

`202` body for `POST /v1/commerce/catalogset-notification`. The CatalogIngestId correlates this async ingest run; poll StatusUrl to observe it reach a terminal `succeeded`/`failed` state.
CatalogIngestAccepted
catalogIngestId
​string · uuid

Opaque id for the accepted ingest run.

statusUrl
​string

Relative URL of the status resource to poll (also sent as Location).

POST/v1/commerce/catalogset-notification
curl 'https://api.gett-tech.com/v1/commerce/catalogset-notification?storeId=<string>' \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "callbackUrl": "https://your-domain.com/api/catalogs/store-abc/latest.json" }'
Example Request Body
{ "callbackUrl": "https://your-domain.com/api/catalogs/store-abc/latest.json" }
json
application/json
Example Responses
{ "catalogIngestId": "5f3c9b2e-1a4d-4e7a-9b21-7c8e6d5f4a3b", "statusUrl": "/v1/commerce/stores/{storeId}/catalog-ingest/5f3c9b2e-1a4d-4e7a-9b21-7c8e6d5f4a3b/status" }
json
application/json

Get Catalog Ingest Status

GET
https://api.gett-tech.com
/v1/commerce/stores/{storeId}/catalog-ingest/{catalogIngestId}/status

Poll the status of an async catalog ingest started by Notify Catalog Update, using the catalogIngestId returned in that 202.

Lifecycle (status):

  • queued — accepted, not yet started
  • pulling — downloading the CatalogSet from your callbackUrl
  • processing — validating and building the store catalog
  • succeeded — the store now serves the new catalog
  • failed — ingestion did not complete; see errors for sanitized, partner-safe reasons

Poll until succeeded or failed, honoring the Retry-After header from the notify response. Returns 404 if no ingest with that id exists for the store.

Get Catalog Ingest Status › path Parameters

storeId
​string · uuid · required

Your internal Store ID

catalogIngestId
​string · uuid · required

The catalogIngestId returned by Notify Catalog Update

Get Catalog Ingest Status › Headers

Authorization
​string · required

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Get Catalog Ingest Status › Responses

OK

Partner-facing status of an async catalog ingest, returned by `GET /v1/commerce/stores/{storeId}/catalog-ingest/{catalogIngestId}/status`.
CatalogIngestStatusResponse
catalogIngestId
​string · uuid

Echoes the requested id.

​CatalogIngestErrorWire[]

Sanitized, partner-safe errors; populated only when failed.

status
​string

Lowercase lifecycle value: queued → pulling → processing → succeeded | failed.

updatedAt
​string · date-time

UTC instant of the last status transition.

GET/v1/commerce/stores/{storeId}/catalog-ingest/{catalogIngestId}/status
curl https://api.gett-tech.com/v1/commerce/stores/:storeId/catalog-ingest/:catalogIngestId/status \ --header 'Authorization: Bearer <token>'
Example Responses
{ "catalogIngestId": "5f3c9b2e-1a4d-4e7a-9b21-7c8e6d5f4a3b", "errors": [ { "message": "Catalog rejected: failed referential validation (an item, section, or modifier references an id not present in the catalog). Contact support with the catalogIngestId.", "path": "" } ], "status": "failed", "updatedAt": "2026-06-17T20:31:05Z" }
json
application/json

Store Status