openapi: 3.1.0 info: title: Carium API version: '2026-10-07' description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-07: 26 operation(s) read from 5 public documentation page(s) (each operation names its page in x-source). This is not the provider''s published contract; Carium has published no machine-readable contract that the pipeline could find. Engine: local.' x-evidence-tiers: code-example: 8 documentation: 18 pages-with-code: 3 pages-read: 5 x-generated-from: documentation x-provenance: generated x-authored-by: API Evangelist x-generated: '2026-10-07' x-generator: generate-contract-from-docs.py x-engine: local x-sources: - https://developers.carium.com/docs/main/api/intro - https://developers.carium.com/docs/main/api/examples - https://developers.carium.com/docs/main/areas/metrics - https://developers.carium.com/docs/main/guides/pathways_intro/part_1 - https://developers.carium.com/docs/main/guides/pathways_intro/part_2 servers: - url: https://api.carium.com paths: /: get: operationId: get tags: - Api summary: GET / x-source: https://developers.carium.com/docs/main/guides/pathways_intro/part_2 responses: '200': description: Success (status as documented) x-evidence: kind: code-example language: curl snippet: "curl, and JSON response data. \n Endpoints ​ \n The application defines all necessary endpoints used to interact with the Carium\ \ API. The endpoints are defined as part\nof our main application class SimpleCli and are used to make requests to the Carium API. \n\ \ Application Code: ​ \n Main application class:\n SimpleCli \n Endpoints class SimpleCli : \"\"\"A simple CLI to interact with the\ \ Carium API\"\"\" # End" /caredb/v1/aggregation-individuals/: get: operationId: get_caredb_v1_aggregation_individuals tags: - Caredb summary: Patients GET Request description: Retrieves patient individuals for an organization. x-source: https://developers.carium.com/docs/main/guides/pathways_intro/part_2 parameters: - name: filter[account-type] in: query required: false schema: type: string - name: filter[exclude-self] in: query required: false schema: type: boolean - name: organization-id in: query required: true schema: type: string - name: page[limit] in: query required: false schema: type: integer - name: page[offset] in: query required: false schema: type: integer - name: sort in: query required: false schema: type: string responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetCaredbV1AggregationIndividualsResponse' x-evidence: kind: documentation /caredb/v1/journal-entries/: get: operationId: get_caredb_v1_journal_entries tags: - Caredb summary: Welcome to the Carium API, which uses REST and JSON :API to support a wide range of functionality. description: Retrieves a list of journal entries. Authentication required via Bearer token. x-source: https://developers.carium.com/docs/main/api/intro responses: '200': description: Success (status as documented) x-evidence: kind: documentation /caredb/v1/org-appointments/: post: operationId: post_caredb_v1_org_appointments tags: - Caredb summary: Create an Appointment x-source: https://developers.carium.com/docs/main/api/examples requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostCaredbV1OrgAppointmentsRequest' responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostCaredbV1OrgAppointmentsResponse' x-evidence: kind: documentation /caredb/v1/org-appointments/{id}: delete: operationId: delete_caredb_v1_org_appointments_id tags: - Caredb summary: Delete an Appointment x-source: https://developers.carium.com/docs/main/api/examples parameters: - name: id in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: documentation get: operationId: get_caredb_v1_org_appointments_id tags: - Caredb summary: Get a Single Appointment x-source: https://developers.carium.com/docs/main/api/examples parameters: - name: id in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: documentation patch: operationId: patch_caredb_v1_org_appointments_id tags: - Caredb summary: Update an Appointment x-source: https://developers.carium.com/docs/main/api/examples parameters: - name: id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PatchCaredbV1OrgAppointmentsIdRequest' responses: '200': description: Success (status as documented) x-evidence: kind: documentation /caredb/v1/org-document-classes/: get: operationId: get_caredb_v1_org_document_classes tags: - Caredb summary: List document classes x-source: https://developers.carium.com/docs/main/api/examples parameters: - name: organization-id in: query required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: documentation /caredb/v1/org-document-references/: get: operationId: get_caredb_v1_org_document_references tags: - Caredb summary: List Documents x-source: https://developers.carium.com/docs/main/api/examples parameters: - name: filter[individual-id] in: query required: true schema: type: string - name: organization-id in: query required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: documentation post: operationId: post_caredb_v1_org_document_references tags: - Caredb summary: Upload a Document x-source: https://developers.carium.com/docs/main/api/examples requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostCaredbV1OrgDocumentReferencesRequest' responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostCaredbV1OrgDocumentReferencesResponse' x-evidence: kind: documentation /caredb/v1/org-document-references/{id}/get-download-info/: get: operationId: get_caredb_v1_org_document_references_id_get_download_info tags: - Caredb summary: Download a Document x-source: https://developers.carium.com/docs/main/api/examples parameters: - name: id in: path required: true schema: type: string responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetCaredbV1OrgDocumentReferencesIdGetDownloadInfoResponse' x-evidence: kind: documentation /caredb/v1/org-document-references/{id}/process-upload/: post: operationId: post_caredb_v1_org_document_references_id_process_upload tags: - Caredb summary: Upload a Document x-source: https://developers.carium.com/docs/main/api/examples parameters: - name: id in: path required: true schema: type: string responses: '201': description: Success (status as documented) x-evidence: kind: documentation /caredb/v1/todo-entries/: get: operationId: get_caredb_v1_todo_entries tags: - Caredb summary: Worklist GET Request description: Lists worklist (todo) entries for an organization. x-source: https://developers.carium.com/docs/main/guides/pathways_intro/part_2 parameters: - name: filter[include-done] in: query required: false schema: type: boolean - name: filter[include-inactive] in: query required: false schema: type: boolean - name: filter[provider-only] in: query required: false schema: type: boolean - name: organization-id in: query required: true schema: type: string - name: page[limit] in: query required: false schema: type: integer - name: page[offset] in: query required: false schema: type: integer responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetCaredbV1TodoEntriesResponse' x-evidence: kind: documentation /caredb/v1/todo-entries/4e09e457-c46b-449b-a7b0-41319614287f: patch: operationId: patch_caredb_v1_todo_entries_4e09e457_c46b_449b_a7b0_41319614287f tags: - Caredb summary: PATCH /caredb/v1/todo-entries/4e09e457-c46b-449b-a7b0-41319614287f x-source: https://developers.carium.com/docs/main/guides/pathways_intro/part_2 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PatchCaredbV1TodoEntries4E09E457C46B449BA7B041319614287FRequ' responses: '200': description: Success (status as documented) x-evidence: kind: code-example language: curl snippet: "curl -X 'PATCH' \\ 'https://api.carium.com/caredb/v1/todo-entries/4e09e457-c46b-449b-a7b0-41319614287f/' \\ -H 'accept: application/vnd.api+json'\ \ \\ -H 'Content-Type: application/json' \\ -H 'authorization: Bearer XXX' \\ -d '{ \"data\": { \"attributes\": [ { \"op\": \"replace\"\ , \"path\": \"/due-time\", \"value\": \"2024-02-19 12:00:00\" } ], \"id\": \"284a395e-2e84-49e2-ba96-f82a73d67490\", \"type\": \"todo-entries\"\ \ } }' \n" /caredb/v1/todo-entries/4e09e457-c46b-449b-a7b0-41319614287f/: get: operationId: get_caredb_v1_todo_entries_4e09e457_c46b_449b_a7b0_41319614287f tags: - Caredb summary: Worklist GET Request for specific entry description: Retrieves a specific worklist entry by its ID. x-source: https://developers.carium.com/docs/main/guides/pathways_intro/part_2 responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetCaredbV1TodoEntries4E09E457C46B449BA7B041319614287FRespon' x-evidence: kind: documentation /caredb/v1/{v1id}: get: operationId: get_caredb_v1_v1id tags: - Caredb summary: GET /caredb/v1/aggregation-individuals x-source: https://developers.carium.com/docs/main/guides/pathways_intro/part_2 parameters: - name: v1id in: path required: true schema: type: string - name: filter[account-type] in: query required: false schema: type: string - name: filter[exclude-self] in: query required: false schema: type: string - name: organization-id in: query required: false schema: type: string - name: page[limit] in: query required: false schema: type: string - name: page[offset] in: query required: false schema: type: string - name: sort in: query required: false schema: type: string responses: '200': description: Success (shape read from the example response on the page) content: application/json: schema: $ref: '#/components/schemas/GetCaredbV1V1IdResponse' x-evidence: kind: code-example language: curl snippet: "curl ​ \n Patients GET Request curl -X 'GET' \\ 'https://api.carium.com/caredb/v1/aggregation-individuals/?filter%5Baccount-type%5D=regular&filter%5Bexclude-self%5D=false&organization-id=f68573e8-b79f-42dc-9292-2d7ba43c9f33&page%5Blimit%5D=100&page%5Boffset%5D=0&sort=last-name'\ \ \\ -H 'accept: application/vnd.api+json' \\ -H 'authorization: Bearer XXX' \n Worklist ​ \n Worklist items are delegated to a C" collapsed_from: 5 example path(s) differing only at v1Id /carium-inc/guide-examples/master/guideexamples/pathway/pathway_spec/schedule_appointment.json: get: operationId: get_carium_inc_guide_examples_master_guideexamples_pathway_pathway_spec_schedule tags: - Carium Inc summary: GET /carium-inc/guide-examples/master/guideexamples/pathway/pathway_spec/schedule_appointment.json x-source: https://developers.carium.com/docs/main/guides/pathways_intro/part_1 responses: '200': description: Success (status as documented) x-evidence: kind: code-example language: curl snippet: "curl -o schedule_appointment.json https://raw.githubusercontent.com/carium-inc/guide-examples/master/guideexamples/pathway/pathway_spec/schedule_appointment.json\ \ \n You’ll need to edit one attribute in the file to allow it to work in your environment. The assigned-individual-id in\nthe “Care\ \ Team Worklist Step” needs to be modified to match a care team member from your organization. For your own\nuse" /identity/v1/individual-groups: get: operationId: get_identity_v1_individual_groups tags: - Identity summary: GET /identity/v1/individual-groups x-source: https://developers.carium.com/docs/main/guides/pathways_intro/part_2 parameters: - name: filter[include-inactive] in: query required: false schema: type: string - name: filter[node-type] in: query required: false schema: type: string - name: organization-id in: query required: false schema: type: string - name: page[limit] in: query required: false schema: type: string - name: page[offset] in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: with-individuals in: query required: false schema: type: string responses: '200': description: Success (shape read from the example response on the page) content: application/json: schema: $ref: '#/components/schemas/GetIdentityV1IndividualGroupsResponse' x-evidence: kind: code-example language: curl snippet: "curl ​ \n Care Team GET Request curl -X 'GET' \\ 'https://api.carium.com/identity/v1/individual-groups/?filter%5Binclude-inactive%5D=false&filter%5Bnode-type%5D=group&organization-id=f68573e8-b79f-42dc-9292-2d7ba43c9f33&page%5Blimit%5D=100&page%5Boffset%5D=0&type=provider_only&with-individuals=false'\ \ \\ -H 'accept: application/vnd.api+json' \\ -H 'authorization: Bearer XXX' \n Patients ​ \n This display" /identity/v1/individual-groups/: get: operationId: get_identity_v1_individual_groups tags: - Identity summary: Care Team GET Request description: Lists care team groups within an organization. x-source: https://developers.carium.com/docs/main/guides/pathways_intro/part_2 parameters: - name: filter[include-inactive] in: query required: false schema: type: boolean - name: filter[node-type] in: query required: false schema: type: string - name: organization-id in: query required: true schema: type: string - name: page[limit] in: query required: false schema: type: integer - name: page[offset] in: query required: false schema: type: integer - name: type in: query required: false schema: type: string - name: with-individuals in: query required: false schema: type: boolean responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetIdentityV1IndividualGroupsResponse2' x-evidence: kind: documentation /identity/v1/login/: post: operationId: post_identity_v1_login tags: - Identity summary: Login x-source: https://developers.carium.com/docs/main/api/examples requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostIdentityV1LoginRequest' responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostIdentityV1LoginResponse' x-evidence: kind: documentation /identity/v1/resend-invitation/: post: operationId: post_identity_v1_resend_invitation tags: - Identity summary: Create a Patient Invitation x-source: https://developers.carium.com/docs/main/api/examples requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostIdentityV1ResendInvitationRequest' responses: '201': description: Success (status as documented) x-evidence: kind: documentation /lachesis/v1/timeseries: get: operationId: get_lachesis_v1_timeseries tags: - Lachesis summary: Querying metrics is done through the GET /lachesis/v1/timeseries/ API description: Querying metrics returns a paged response across the entire time range of the metric, optionally narrowed by begin-datetime and end-datetime. x-source: https://developers.carium.com/docs/main/areas/metrics parameters: - name: individual-id in: query required: true schema: type: string description: The individual ID - name: type in: query required: true schema: type: string description: Metric type to query - name: begin-datetime in: query required: false schema: type: string description: Start of the time range - name: end-datetime in: query required: false schema: type: string description: End of the time range responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetLachesisV1TimeseriesResponse' x-evidence: kind: documentation post: operationId: post_lachesis_v1_timeseries tags: - Lachesis summary: Uploading various metrics for a single individual description: You can push metrics to the Carium API using the POST /lachesis/v1/timeseries/ API. You should send no more than 128kb of data per request. x-source: https://developers.carium.com/docs/main/areas/metrics requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostLachesisV1TimeseriesRequest' responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostLachesisV1TimeseriesResponse' x-evidence: kind: documentation /overlord/v1/pathway-specs: get: operationId: get_overlord_v1_pathway_specs tags: - Overlord summary: GET /overlord/v1/pathway-specs x-source: https://developers.carium.com/docs/main/guides/pathways_intro/part_2 parameters: - name: organization-id in: query required: false schema: type: string - name: page[limit] in: query required: false schema: type: string - name: page[offset] in: query required: false schema: type: string responses: '200': description: Success (shape read from the example response on the page) content: application/json: schema: $ref: '#/components/schemas/GetOverlordV1PathwaySpecsResponse' x-evidence: kind: code-example language: curl snippet: "curl ​ \n Pathway specs GET Request curl -X 'GET' \\ 'https://api.carium.com/overlord/v1/pathway-specs/?organization-id=f68573e8-b79f-42dc-9292-2d7ba43c9f33&page%5Blimit%5D=100&page%5Boffset%5D=0'\ \ \\ -H 'accept: application/vnd.api+json' \\ -H 'authorization: Bearer XXX' \n Enroll ​ \n Adding a patient to a pathway \n Enter patient\ \ ID: 1aa89840-8024-11eb-8cb7-8272b343556c Choose an option: 1 . Show pathw" /overlord/v1/pathway-specs/: get: operationId: get_overlord_v1_pathway_specs tags: - Overlord summary: Pathway specs GET Request description: Retrieves pathway specifications for an organization. x-source: https://developers.carium.com/docs/main/guides/pathways_intro/part_2 parameters: - name: organization-id in: query required: true schema: type: string - name: page[limit] in: query required: false schema: type: integer - name: page[offset] in: query required: false schema: type: integer responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetOverlordV1PathwaySpecsResponse2' x-evidence: kind: documentation /showboat/v1/patients/: post: operationId: post_showboat_v1_patients tags: - Showboat summary: Create a New Patient Record x-source: https://developers.carium.com/docs/main/api/examples requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostShowboatV1PatientsRequest' responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostShowboatV1PatientsResponse' x-evidence: kind: documentation components: schemas: GetCaredbV1AggregationIndividualsResponse: type: object properties: meta: type: object data: type: array data.id: type: string data.type: type: string data.attributes.email: type: string data.attributes.first-name: type: string data.attributes.last-name: type: string PostCaredbV1OrgAppointmentsRequest: type: object properties: organization-id: type: string individual-id: type: string practitioner-id: type: string start-time: type: string end-time: type: string status-id: type: string type-id: type: string add-video-channel: type: string guest-url: type: string host-url: type: string description: type: string patient-instruction: type: string location: type: string required: - organization-id - individual-id - practitioner-id - start-time - end-time - status-id - type-id - add-video-channel PostCaredbV1OrgAppointmentsResponse: type: object properties: data.id: type: string description: id of the new appointment PatchCaredbV1OrgAppointmentsIdRequest: type: object properties: start-time: type: string end-time: type: string required: - start-time - end-time PostCaredbV1OrgDocumentReferencesRequest: type: object properties: attachment-content-type: type: string attachment-filename: type: string class-id: type: string name: type: string description: type: string individual-id: type: string organization-id: type: string required: - attachment-content-type - attachment-filename - class-id - name - description - individual-id - organization-id PostCaredbV1OrgDocumentReferencesResponse: type: object properties: data.id: type: string description: document reference id data.attributes.upload-info.upload-url: type: string data.attributes.upload-info.upload-data: type: object GetCaredbV1OrgDocumentReferencesIdGetDownloadInfoResponse: type: object properties: download-url: type: string GetCaredbV1TodoEntriesResponse: type: object properties: meta: type: object data: type: array data.id: type: string data.type: type: string data.attributes.text: type: string data.attributes.done: type: boolean data.attributes.created-at: type: string PatchCaredbV1TodoEntries4E09E457C46B449BA7B041319614287FRequ: type: object properties: data: type: object properties: attributes: type: array items: type: object properties: op: type: string path: type: string value: type: string format: date-time id: type: string type: type: string GetCaredbV1TodoEntries4E09E457C46B449BA7B041319614287FRespon: type: object properties: data: type: object data.id: type: string data.type: type: string data.attributes.text: type: string data.attributes.done: type: boolean data.attributes.created-at: type: string data.attributes.due-time: type: string GetCaredbV1V1IdResponse: type: object properties: page[offset]: type: integer page[limit]: type: integer page[total]: type: integer GetIdentityV1IndividualGroupsResponse: type: object properties: meta: type: object properties: page[offset]: type: integer page[limit]: type: integer page[total]: type: integer data: type: array items: type: object properties: type: type: string id: type: string attributes: type: object properties: email: type: string first-name: type: string last-name: type: string birth-date: type: string format: date GetIdentityV1IndividualGroupsResponse2: type: object properties: data: type: array data.id: type: string data.type: type: string data.attributes.name: type: string PostIdentityV1LoginRequest: type: object properties: username: type: string password: type: string totp-code: type: string description: mfa_token required: - username - password PostIdentityV1LoginResponse: type: object properties: access-token: type: string PostIdentityV1ResendInvitationRequest: type: object properties: username: type: string notifications: type: array description: list of notification types (email or sms) required: - username - notifications GetLachesisV1TimeseriesResponse: type: object properties: data: type: array description: Array of metric data points data[].time: type: string description: Timestamp of the metric point data[].systolic: type: integer description: Systolic value (if present) data[].diastolic: type: integer description: Diastolic value (if present) data[].tags: type: string description: Optional tags PostLachesisV1TimeseriesRequest: type: object properties: data: type: array description: Array of timeseries objects data[].type: type: string description: Should be "time-series" data[].attributes.individual-id: type: string description: The individual ID data[].attributes.type: type: string description: Metric type (e.g., BodyMass) data[].attributes.data: type: array description: Array of metric data points data[].attributes.data[].type: type: string description: Metric point type (e.g., BloodGlucose, BloodPressure, BodyMass, OxygenSaturation, Pulse) data[].attributes.data[].time: type: string description: Timestamp of the metric point data[].attributes.data[].value: type: number description: Value for simple metric points data[].attributes.data[].context: type: string description: Context for metrics that require it (e.g., FASTING) data[].attributes.data[].systolic: type: integer description: Systolic value for BloodPressure data[].attributes.data[].diastolic: type: integer description: Diastolic value for BloodPressure required: - data - data[].type - data[].attributes.individual-id - data[].attributes.type - data[].attributes.data - data[].attributes.data[].type - data[].attributes.data[].time PostLachesisV1TimeseriesResponse: type: object properties: data: type: array description: Array of created timeseries objects GetOverlordV1PathwaySpecsResponse: type: object properties: page[offset]: type: integer page[limit]: type: integer page[total]: type: integer GetOverlordV1PathwaySpecsResponse2: type: object properties: meta: type: object description: paging information data: type: array description: list of pathway specs data.type: type: string data.id: type: string data.attributes: type: object data.attributes.name: type: string data.attributes.version.id: type: string data.attributes.version.name: type: string PostShowboatV1PatientsRequest: type: object properties: first-name: type: string last-name: type: string birth-date: type: string gender: type: string email: type: string mobile-phone: type: string locale: type: string individual-group-ids: type: string username: type: string organization-id: type: string required: - first-name - last-name - birth-date - gender - organization-id PostShowboatV1PatientsResponse: type: object properties: data.id: type: string description: individual-id of the new patient securitySchemes: bearer: type: http scheme: bearer security: - bearer: [] tags: - name: Api - name: Caredb - name: Carium Inc - name: Identity - name: Lachesis - name: Overlord - name: Showboat