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.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.

Profile

EndpointSDK methodWhat it does
GET /v1/mepatient.profile()The signed-in Patient. The canonical session check.
POST /v1/onboardingpatient.home(...)Home a self-registered patient into their organization. Called once after registration.

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.
POST /v1/appointments/{id}/encounterappointments.startEncounter(id)Start (or resume) the visit encounter. 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