The API
Endpoints
Every v1 endpoint, its SDK method, and what it does.
All paths live under your environment's API host (https://api.prd.palamond.dev in production). Every call needs a patient bearer token. Each workflow endpoint is wrapped by a typed method on a PalamondClient namespace that mirrors the endpoint's path (palamond.protocols.list(), palamond.tasks.complete(...)); use the methods and let the SDK own the URLs and bodies. The OpenAPI document at /v1/openapi.json carries the full request and response schemas; this page is the map.
| Endpoint | SDK method | What it does |
|---|
GET /v1/me | patient.profile() | The signed-in Patient. The canonical session check. |
POST /v1/onboarding | patient.home(...) | Home a self-registered patient into their organization. Called once after registration. |
| Endpoint | SDK method | What it does |
|---|
GET /v1/protocols | protocols.list() | The care catalog: enrollable protocols and startable assessments. |
POST /v1/assessments | assessments.start(...) | Start (or resume) an assessment. See Complete an Assessment. |
POST /v1/enrollments | enrollments.create(...) | Enroll in a protocol (creates the draft plan). See Enroll in a Care Plan. |
POST /v1/enrollments/{id}/activate | enrollments.activate(id) | Start the draft plan: issues its tasks and visits. |
DELETE /v1/enrollments/{id} | enrollments.end(id) | Unenroll. Revokes the plan and cancels its open tasks. |
POST /v1/requests | requests.create(...) | Propose a medication, protocol, or treatment option for clinician review. |
| Endpoint | SDK method | What it does |
|---|
POST /v1/tasks/{id}/complete | tasks.complete(id, ...) | Complete one of the patient's tasks with the payload matching its kind: a QuestionnaireResponse reference, inline measurements, or a medication proposal (or decline). |
POST /v1/orders/{id}/decisions | orders.decide(id, ...) | Accept or decline each item of a proposed order, with a fulfilment method. See Decide an Order. |
| Endpoint | SDK method | What it does |
|---|
GET /v1/availability | availability.list(...) | Open visit slots for a care team or practitioner (or per-day counts for a calendar). |
POST /v1/appointments/{id}/reschedule | appointments.reschedule(id, ...) | Move a visit: cancels the original and books a linked replacement. Slot validation is server-side; a stale slot answers 409. |
POST /v1/appointments/{id}/cancel | appointments.cancel(id) | Cancel a visit. |
POST /v1/appointments/{id}/encounter | appointments.startEncounter(id) | Start (or resume) the visit encounter. Idempotent. |
| Endpoint | SDK method | What it does |
|---|
GET /v1/agreements/requirements | agreements.requirements(...) | Which agreements are still unmet, for an optional context (service, plan, task). |
POST /v1/agreements/acceptances | agreements.accept(...) | Record acceptances. Clickwrap proof is stamped server-side. |
POST /v1/agreements/withdrawals | agreements.withdraw(...) | Withdraw an agreement. Withdrawing a required one demands explicit acknowledgement. |
| Endpoint | SDK method | What it does |
|---|
POST /v1/documents | documents.upload(...) | Upload a file (the raw bytes are the body). Returns an attachment ready for a valueAttachment answer. |
The FHIR plane has no wrapper methods of its own; the SDK's typed FHIR helpers (searchResources, readResource, createResource, ...) target it directly.
| Endpoint | What it does |
|---|
GET /v1/fhir/{ResourceType} | FHIR search over the patient's record; returns a Bundle. |
GET /v1/fhir/{ResourceType}/{id} | Read one resource. |
PUT /v1/fhir/Patient/{id} | Update the patient's own demographics. |
POST /v1/fhir/QuestionnaireResponse | Create the patient's own questionnaire answers (PUT updates them). |