Skip to content
Start free
DevelopersQuick start

Memlira Connect

A small read-only contract your system serves, so Memlira can sync its data. No library to install, and nothing written to your system.

Version v0. Authentication is Authorization: Bearer <key> with a read-only key your system issues. JSON in snake_case, ISO 8601 dates with a time zone. The minimum: manifest and one entity.

manifest

The first thing we call: what your system offers. We read its entities and fields and match them to the Memlira schema.

JSON
// GET /memlira/v0/manifest
{
  "version": "0",
  "system": "Northwind ERP",
  "currency": "SAR",
  "timezone": "Asia/Riyadh",
  "entities": ["customers", "orders", "order_items", "invoices"],
  "stages": [{"entity": "order_items", "values": ["cutting", "stitching", "assembly", "lasting", "pressing", "warehouse", "export"]}],
  "custom_fields": [{"entity": "orders", "key": "model_no", "type": "text", "label": "رقم الموديل"}]
}

Entities: customers, items, orders, order_items, invoices, payments, shipments, bookings, stock_levels.

Endpoints

GET/memlira/v0/manifestAvailable entities, custom fields, operating stages, currency and time zone
GET/memlira/v0/{entity}?updated_since=…&cursor=…&limit=500The entity's records ordered by updated_at, with next_cursor
GET/memlira/v0/deleted?since=…Deletions, or "deleted": true on the record itself

Required rules

Without these rules incremental sync goes wrong silently.
  1. A reliable updated_at on every record: it changes with any edit to the record or its lines, and carries the time zone.
  2. A stable page order: ORDER BY updated_at, external_id, with next_cursor built on both, so two records with the same updated_at never fall between pages.
  3. Deletions: a record with "deleted": true, or GET /memlira/v0/deleted?since=…. A system that never deletes says so in the manifest with "deletes": "none".
  4. updated_since is inclusive (>=). We handle the duplicates on our side.
JSON
// GET /memlira/v0/orders?updated_since=…  (deleted record)
{
  "external_id": "21852",
  "deleted": true,
  "updated_at": "2026-10-14T13:40:00+03:00"
}

We also run a full sync every night that corrects any drift and marks records that disappeared as deleted. Errors use standard HTTP codes, and we respect Retry-After on 429.

Testing

From the Memlira dashboard, “Test connection” calls the manifest and the first page of each entity, checks the key, and shows you what it found before any sync.