fmcgProducts publishes an API reference on the same site as the database.
- Open https://<instance>.fmcgproducts.dk/swagger/index.html. Replace <instance> with the name of your site.
- Choose Authorize and enter the API key. The header is X-Api-Key.
GET /api/ returns this page as documentationUi.
Add ?language= when you want messages in one language. The codes are da, de, en, fi, no and sv. Leave it out to use the language set for the database. A code the database does not accept returns HTTP 400.
Check products without saving
POST /api/validate takes one product, or a list of products, in the same JSON shape as an update. fmcgProducts checks the data and does not save it.
Save and send
POST /api/update-and-sendToGS1 saves the product and then sends the hierarchy. Send one product object, or a list. Optional dataRecipient is a GLN used only for the send. It is not stored on the product.
- HTTP 200 and sendToGS1.status SENT means the hierarchy was sent.
- HTTP 200 and SKIPPED means the product was saved and the send did not run. This happens when the hierarchy does not pass GS1 validation. It also happens when the JSON includes "test": true. On that test call, sendToGS1.result is test.
- HTTP 202 and FAILED means the product was saved and the send failed. The save is kept.
- HTTP 400 means the submitted data was not accepted.
Status for one target market
GET /api/products/status can be limited to one country:
GET /api/products/status?targetMarket=208&fromdate=01-04-2026
targetMarket is the numeric country code. A value that is not a number returns HTTP 400. fromdate is the GS1 response date, written as dd-MM-yyyy. offset=1 is the first product. Use limit with it.
See the API guide at https://www.fmcgsolutions.dk/docs/api/. The other calls are described in API: Integration with fmcgProducts and fmcgProductsIntegrator from external systems.