Endpoints
The six live endpoints, what each needs, and what was removed.
Base URL: https://prod.api.mantys.org/v2/api-integration-v3
| Method | Path | Auth | Purpose |
|---|---|---|---|
GET | /health | none | Service availability. Does not validate credentials. |
POST | /create-task | all three headers | Queue one eligibility check. |
GET | /eligibility-result/{task_id} | all three headers | Poll this, then read this. Progress and answer in one response. |
GET | /task-status/{task_id} | all three headers | A narrower view of the same task. Not needed for the documented flow. |
An integration needs two of these: create-task and eligibility-result.
"All three headers" means x-api-key, X-Clinic-ID and X-Client-ID. See
Authentication.
health
GET /healthTakes no headers. A 200 confirms the base URL is correct and the service is available; it does not validate credentials. Use it in a deploy check, not as an authentication probe.
{ "status": "healthy", "timestamp": "2026-03-14T09:12:44.106321" }task-status
GET /task-status/{task_id}A second view of the same task, kept here for people who meet it in existing
code. It returns a subset of eligibility-result, and these docs do not poll
it; see why not task-status.
Prop
Type
Sample not captured yet
task-status/complete-single will be filled in once the sample capture pass has run against a completed production task.Do not mix the two in one client
The same finished task is COMPLETE here and PROCESS_COMPLETE on eligibility-result, and the
two can disagree about whether a search-all has finished. Pick one endpoint per integration.
Removed from this documentation
Four endpoints that appear in older integration notes are deliberately absent.
bulk/create-tasks and get-eligibility-results
Both return 503 on every call and are not currently available. Do not build against them. They are excluded from this site rather than documented as unavailable; when they are available they will be documented here with samples like every other endpoint. To create many checks today, use the loop below.
universal-search and doctors-mapping
Both exist, and neither is part of eligibility access. They sit behind the appointment integration and are gated separately, so an eligibility API key is rejected by them. They are left out here rather than documented as something to try. If your integration needs either one, ask your Mantys contact about appointment access.
For doctors-mapping in particular: you are expected to hold the mapping from
your clinicians to their licence IDs on your side, and to send the licence ID
as doctorId.
If you need to create many checks today, call create-task in a loop with
sensible concurrency. Each call is a real portal session, so keep it modest:
a handful in flight per clinic, not hundreds.