Palamond Docs
The API

Endpoints

Every v1 endpoint, its SDK method, and what it does.

All paths live under your environment's API host (https://api.lab.palamond.dev here). Every call needs a patient bearer token, except the public GET /v1/config the SDK reads before a session exists. The endpoint tree now follows the same namespaces as PalamondClient, so the HTTP surface and SDK read the same way (GET /v1/patient/profilepalamond.patient.profile(), POST /v1/tasks/{id}/completepalamond.tasks.complete(...)). Use the SDK when you can and let it own the URLs and bodies. The OpenAPI document at /v1/openapi.json carries the full request and response schemas; this page is the map.

Profile

EndpointSDK methodWhat it does
GET /v1/patient/profilepatient.profile()The signed-in Patient. The canonical session check.
POST /v1/patient/home(used by patient.register(...))Assign a self-registered patient to their organization. register runs this for you; there is no separate call to make.
GET /v1/config(used by patient.register(...))Public per-environment configuration (the project id). Read automatically during registration; no session required.

Care

EndpointSDK methodWhat it does
GET /v1/protocolsprotocols.list()The care catalog: enrollable protocols and startable assessments.
POST /v1/assessmentsassessments.start(...)Start (or resume) an assessment. See Complete an Assessment.
POST /v1/enrollmentsenrollments.create(...)Enroll in a protocol (creates the draft plan). See Enroll in a Care Plan.
POST /v1/enrollments/{id}/activateenrollments.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/requestsrequests.create(...)Propose a medication, protocol, or treatment option for clinician review.

Tasks and orders

EndpointSDK methodWhat it does
POST /v1/tasks/{id}/completetasks.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}/decisionsorders.decide(id, ...)Accept or decline each item of a proposed order, with a fulfilment method. See Decide an Order.

Scheduling

EndpointSDK methodWhat it does
GET /v1/availabilityavailability.list(...)Open visit slots for a care team or practitioner (or per-day counts for a calendar).
POST /v1/appointments/{id}/rescheduleappointments.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}/cancelappointments.cancel(id)Cancel a visit.
GET /v1/appointments/{id}/segmentsappointments.segments(id)What a visit is made of: each contact with its purpose, status and position, in declared order.
POST /v1/appointments/{id}/encounterappointments.startEncounter(id, ...)Start (or resume) a visit segment. Omit the segment to start the next unfinished one. Idempotent.

Agreements

EndpointSDK methodWhat it does
GET /v1/agreements/requirementsagreements.requirements(...)Which agreements are still unmet, for an optional context (service, plan, task).
POST /v1/agreements/acceptancesagreements.accept(...)Record acceptances. Clickwrap proof is stamped server-side.
POST /v1/agreements/withdrawalsagreements.withdraw(...)Withdraw an agreement. Withdrawing a required one demands explicit acknowledgement.

Documents

EndpointSDK methodWhat it does
POST /v1/documentsdocuments.upload(...)Upload a file (the raw bytes are the body). Returns an attachment ready for a valueAttachment answer.

The record

The FHIR plane has no wrapper methods of its own; the SDK's typed FHIR helpers (searchResources, readResource, createResource, ...) target it directly.

EndpointWhat 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/QuestionnaireResponseCreate the patient's own questionnaire answers (PUT updates them).

On this page