Reference

Public endpoints

No authentication. These back the marketing site, the status page and the Trust centre, and are open to anyone. Generated from the OpenAPI document; 6 operations.

Browsers and CORS

Browser calls are allowed only from the RemoteRegister sites (exact origin match). Server-to-server calls are not subject to CORS. The two form endpoints are for the RemoteRegister website; they apply a honeypot, per-IP limits and (when enabled) Cloudflare Turnstile, and are not a bulk-submission API.

Record verification (GET /api/v1/verify/:hash) is public too; it is used by rr-verify.medq.co.zw. It is not yet described in the OpenAPI document. A well-formed but unknown hash returns 404 NOT_FOUND; there is no "probably valid" answer.

GET /api/v1/public/platform #

Trust-centre facts

Public — no authentication operationId getPublicPlatformFacts

Returns jurisdiction, governing law, hosting location, cross-border transfer basis, compliance frameworks and public surface URLs. No personal information.

Responses

StatusMeaningSchema
200 Platform facts MobileEnvelope
default Error response MobileError

POST /api/v1/public/leads #

Submit a marketing enquiry

Public — no authentication operationId submitPublicLead

Creates a marketing lead with POPIA s11/s18 consent metadata. Honeypot field companyWebsite is used for bot detection. Rate limited to 5 requests per 10 minutes per IP.

Request body · PublicLeadRequest (application/json)

FieldTypeDetails
name required string max length 120
email required string (email)
organisation string max length 160
role string max length 120
message required string max length 4000
consent required const true
companyWebsite required string Honeypot; must be empty.
sourcePage string

Responses

StatusMeaningSchema
201 Lead accepted MobileEnvelope
default Error response MobileError

POST /api/v1/public/newsletter/subscribe #

Start newsletter double opt-in

Public — no authentication operationId subscribeNewsletter

Creates a PENDING subscriber and dispatches a confirmation email. POPIA s69 requires opt-in consent. Rate limited to 3 requests per 10 minutes per IP.

Request body · NewsletterSubscribeRequest (application/json)

FieldTypeDetails
email required string (email)
consent required const true
companyWebsite required string Honeypot; must be empty.
sourcePage string

Responses

StatusMeaningSchema
202 Subscription pending confirmation MobileEnvelope
default Error response MobileError

GET /api/v1/public/newsletter/confirm #

Confirm a newsletter subscription

Public — no authentication operationId confirmNewsletter

Consumes a single-use, hashed confirmation token.

Parameters

NameInTypeDescription
token required query string

Responses

StatusMeaningSchema
200 Subscription confirmed MobileEnvelope
default Error response MobileError

GET /api/v1/public/newsletter/unsubscribe #

Unsubscribe from the newsletter

Public — no authentication operationId unsubscribeNewsletter

Consumes a single-use, hashed unsubscribe token.

Parameters

NameInTypeDescription
token required query string

Responses

StatusMeaningSchema
200 Subscription removed MobileEnvelope
default Error response MobileError

GET /api/v1/public/status #

Operational status feed

Public — no authentication operationId getPublicStatus

Aggregated persistence, integration and platform status for the status page.

Responses

StatusMeaningSchema
200 Status feed MobileEnvelope
default Error response MobileError