Developer documentation

Build against RemoteRegister

The contract behind learner attendance, identity verification and evidence packs for South African learnerships. Everything below is generated from, or checked against, the code that runs in production.

Preview — read before you integrate

The public endpoints are live and open. The mobile device API is implemented and tested, but device activation is not yet possible in production: it needs Google Play Integrity configuration that is not in place. Machine integrations are implemented, but there is no self-service way to obtain client credentials yet. Each page states its own availability.

At a glance#

Base URLhttps://rr-api.medq.co.zw/api/v1
FormatJSON over HTTPS. Plain HTTP is redirected (308) to HTTPS.
Contract versionOpenAPI 3.1.0, document version 5.0.0. Breaking changes are versioned in the path (/api/v1).
Staginghttps://rr-staging.medq.co.zw — access-controlled; integrations may run in simulator or sandbox mode.
HostingHetzner hel1, Finland (EU). Personal information is processed under POPIA s72 safeguards; see the Trust centre.

Choose an API surface#

Conventions#

  • Responses carry a success boolean. Errors are { "success": false, "error": "CODE", "message": "…" } with a stable machine-readable code; the device API also returns a requestId you can quote to support. The OAuth token endpoint uses the RFC 6749 shape { "error", "error_description" } instead.
  • Timestamps are ISO 8601; the device API also accepts epoch seconds or milliseconds in the signing header.
  • Mutating device calls are idempotent: send a stable clientRequestId and retry safely.
  • See Errors & rate limits for every code and the limits that apply.

Machine-readable contract#

What is documented#

The OpenAPI document currently describes the public and mobile device surfaces. The machine-accessible routes (integrations, edge sync, webhooks) are documented from the access policy in code on the authentication page, without request schemas yet. The document also declares 10 further tags (OAuth & Access, Learner Registry & POPIA, Biometrics & Liveness, Attendance & Edge Sync, Verification & Overrides, Deterministic Stipend Engine, Banking & Direct PayShap, Webhooks, LMS Connectors, Tax & Regulatory Exports) that have no operations described; treat them as planned, not as a contract. The authenticated web application's own endpoints are not a public API.