Documentation
Reference
Base URL: https://{instance}.fmcgproducts.dk/api.
Live description on the instance:
- YAML:
/api/openapi - JSON:
/api/openapi.json - Swagger:
/swagger/index.html
Auth: Key = X-Api-Key when keys are enabled (login session may also work). View = public or key/login depending on the instance. Public = no key.
HTTP 200 means the request was processed (the product may still have validation errors). 400 is bad input, 401 is failed auth, 429 is the request limit (about 90 per minute per IP). POST /api/import accepts .xls, .xlsx, and .xml. The file name comes from the multipart file part or from Content-Disposition, and from the filename query parameter when the body has no name. .xls and .xlsx use the default Excel profile when none matches. An .xml file needs a matching XML import profile. The call returns HTTP 200 when importStatus is SUCCESS or WARNINGS, and HTTP 400 when the file is rejected or importStatus is FAILED. Rows that were accepted are still saved. Import an Excel or XML file has the request examples.
Endpoints
| Method | Path | Auth |
|---|---|---|
| GET | /api |
Public |
| GET | /api/openapi |
Public |
| GET | /api/openapi.json |
Public |
| GET | /api/status/{productId} |
Key |
| GET | /api/products/status |
Key |
| GET | /api/products/status/{exportProfileId} |
Key |
| POST | /api/products/status |
Key |
| POST | /api/products/status/{exportProfileId} |
Key |
| GET | /api/details/{productId} |
Key |
| GET | /api/details/{productId}/{exportProfileId} |
Key |
| GET | /api/details/{unitType}/{targetMarket}/{itemId}/{exportProfileId} |
Key |
| GET | /api/details/{productId}/allfields |
Key |
| GET | /api/history/{productId} |
Key |
| POST | /api |
Key |
| POST | /api/import |
Key |
| POST | /api/validate |
Key |
| POST | /api/sendToGS1 |
Key |
| POST | /api/update-and-sendToGS1 |
Key |
| POST | /api/sendWithdrawalToGS1 |
Key |
| GET | /api/view/{viewname} |
View |
| GET | /api/view/{viewname}/{exportProfileId} |
View |
| GET | /api/view/activeversion/{viewname} |
View |
| GET | /api/view/{viewname}/xml |
View |
| GET | /api/view/excel/{viewname}/{exportProfileId} |
Public |
| GET | /api/pdf/{productId} |
Public |
| GET | /api/pdf/{productId}/{templateName} |
Public |
| GET | /api/pdf/{itemId}/{country}/{templateName} |
Public |
| GET | /api/web/{productId}/{templateName} |
Public |
| GET | /api/web/{itemId}/{country}/{templateName} |
Public |
| GET | /api/images/logo |
Public |
| GET | /api/fields |
Key |
| GET | /api/fields/{targetmarket} |
Key |
| GET | /api/keywords |
Key |
| GET | /api/keywords/{codelist} |
Key |
| GET | /api/keywords/{field}/{targetmarket} |
Key |
| OPTIONS | /api and subpaths |
Public |
Hidden or internal routes (/api/view/v2/…, UI helpers, cache admin) are not part of this public documentation.
