Skip to main content

Data Formats

Requests and Responses​

  • JSON with UTF-8 encoding. Send Content-Type: application/json on requests with a body.
  • Field names use snake_case.
  • Successful responses use the envelope {"status": "success", "message": ..., "data": ...}. Responses carry an X-Request-Id response header; error responses also carry a request id as meta.request_id. Errors are described in Errors.
  • New fields can be added to responses at any time (see Versioning). Ignore fields you do not know.

Values​

KindFormat
IDsStrings, usually UUIDs. Treat every id as an opaque string.
TimestampsRFC 3339 in UTC with Z and whole seconds, for example 2026-10-09T03:30:00Z, in answers and webhooks. Time filters such as sold_at_from take the same format.
DatesYYYY-MM-DD, for example a customer's birthday
MoneyInteger in whole units of currency. IDR has no decimals in Mekari POS: 15000 means Rp15.000.
QuantitiesIntegers, for example stock quantity

Every amount is an integer in whole units of currency (IDR: rupiah). Money fields have no unit suffix.