Quick start
Four steps from an empty configuration file to a catalogue in sync.
- 1
Issue an API key
On the Self-Managed Integration page, create a key. Name it after the system that will use it, choose Sandbox while you build, and tick only the APIs that system needs. The key is shown once, immediately after it is created — copy it into your server's configuration then and there.
- 2
Prove the credential works
Before writing any sync code, confirm the key authenticates and check what it is allowed to reach. This is the only endpoint that needs no scope.
cURLcurl https://partner-portal-backend.caprover-internal.localoy.app/api/v1/open-network/v1/ping \ -H "Authorization: Bearer $LOCALOY_API_KEY" - 3
Send your catalogue
Post each item under your own id. Repeating the call for an item you have already sent updates it, so you can run your whole catalogue through this endpoint on a schedule without tracking what Localoy already holds.
cURLcurl -X POST https://partner-portal-backend.caprover-internal.localoy.app/api/v1/open-network/v1/catalog/items \ -H "Authorization: Bearer $LOCALOY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "externalId": "SKU-1042", "name": "Chicken Shawarma Platter", "priceCents": 45000, "currency": "BDT", "available": true, "stock": 24 }' - 4
Keep it in step
Send the small changes as they happen — a price move, a sold-out flag — with a PATCH, and read the catalogue back when you need to reconcile.
cURLcurl -X PATCH https://partner-portal-backend.caprover-internal.localoy.app/api/v1/open-network/v1/catalog/items/SKU-1042 \ -H "Authorization: Bearer $LOCALOY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "stock": 0, "available": false }'