Conventions
- Base URL:
https://api.mailcycle.email - JSON in, JSON out. Send
Content-Type: application/jsonon every request with a body. - Identifiers are prefixed and opaque:
acct_accounts,ibx_email addresses,msg_messages,wkr_devices,grp_device groups,key_API keys,whk_webhooks,whd_webhook deliveries,evt_events,tkt_support requests,tkm_their messages,pay_payments andact_activity entries. API key tokens start withmak_, session tokens withmst_and device credentials withwkt_. - Client-chosen ids. Records that carry sealed data bound to their id (addresses, messages, devices, device groups, API keys, webhooks, support requests) take an
idyou generate, so the seal can exist before the record. The server checks the shape and uniqueness. - Timestamps are ISO 8601 in UTC.
- Money is integer minor units:
9900is $99.00. - Pagination.
GET /workers,GET /inboxes/:id/messagesandGET /webhook-endpoints/:id/deliveriestake?limit=(default 50, at most 200) and?cursor=from the previous response’snextCursor.GET /activityworks the same way with a default of 20.GET /workersandGET /inboxes/:id/messagesalso return atotal.GET /workers/messagespages back with?before=fromolderCursorinstead. Treat cursors as opaque. A null cursor means the end. - Ownership. A record you do not own answers
404, the same as one that does not exist. - Health and status.
GET /healthanswers{ "service": "mailcycle", "ok": true, "version": "…" }.GET /statusanswersok,maintenance(mode,message,startedAt) andfeatures, which feature switches are on. Neither needs a token. During maintenance, requests return503 maintenance, or writes only return503 read_only, with aRetry-Afterheader. - HTTPS only. A plain HTTP request is refused with
403 https_required, not redirected.
© Northlab Studios Ltd, trading as Mailcycle. Registered in England and Wales, company no. 17462734. Registered office: 167-169 Great Portland Street, London W1W 5PF.