Edit SOAP note fields
curl --request PATCH \
--url https://api.maxcare.ai/v1/notes/{noteId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Organization-Id: <x-organization-id>' \
--data '
{
"additionalHpiComments": "Patient reports improvement since last visit.",
"impressionsPlansComments": "Continue current treatment plan for 3 months.",
"otherExamComments": "No new lesions noted on re-examination.",
"stickyNoteDescription": "Patient prefers morning appointments."
}
'import requests
url = "https://api.maxcare.ai/v1/notes/{noteId}"
payload = {
"additionalHpiComments": "Patient reports improvement since last visit.",
"impressionsPlansComments": "Continue current treatment plan for 3 months.",
"otherExamComments": "No new lesions noted on re-examination.",
"stickyNoteDescription": "Patient prefers morning appointments."
}
headers = {
"X-Organization-Id": "<x-organization-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'X-Organization-Id': '<x-organization-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
additionalHpiComments: 'Patient reports improvement since last visit.',
impressionsPlansComments: 'Continue current treatment plan for 3 months.',
otherExamComments: 'No new lesions noted on re-examination.',
stickyNoteDescription: 'Patient prefers morning appointments.'
})
};
fetch('https://api.maxcare.ai/v1/notes/{noteId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.maxcare.ai/v1/notes/{noteId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'additionalHpiComments' => 'Patient reports improvement since last visit.',
'impressionsPlansComments' => 'Continue current treatment plan for 3 months.',
'otherExamComments' => 'No new lesions noted on re-examination.',
'stickyNoteDescription' => 'Patient prefers morning appointments.'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"X-Organization-Id: <x-organization-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.maxcare.ai/v1/notes/{noteId}"
payload := strings.NewReader("{\n \"additionalHpiComments\": \"Patient reports improvement since last visit.\",\n \"impressionsPlansComments\": \"Continue current treatment plan for 3 months.\",\n \"otherExamComments\": \"No new lesions noted on re-examination.\",\n \"stickyNoteDescription\": \"Patient prefers morning appointments.\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-Organization-Id", "<x-organization-id>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.maxcare.ai/v1/notes/{noteId}")
.header("X-Organization-Id", "<x-organization-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"additionalHpiComments\": \"Patient reports improvement since last visit.\",\n \"impressionsPlansComments\": \"Continue current treatment plan for 3 months.\",\n \"otherExamComments\": \"No new lesions noted on re-examination.\",\n \"stickyNoteDescription\": \"Patient prefers morning appointments.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.maxcare.ai/v1/notes/{noteId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-Organization-Id"] = '<x-organization-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"additionalHpiComments\": \"Patient reports improvement since last visit.\",\n \"impressionsPlansComments\": \"Continue current treatment plan for 3 months.\",\n \"otherExamComments\": \"No new lesions noted on re-examination.\",\n \"stickyNoteDescription\": \"Patient prefers morning appointments.\"\n}"
response = http.request(request)
puts response.read_body{
"code": "success",
"data": {
"id": "3cc73cb6-9c59-403c-a910-8af6c5693b25",
"version": 3,
"visitDate": "2026-03-20 18:30:00+00",
"status": "awaiting_sign",
"aiStatus": "issues_found",
"aiIssueCount": 2,
"patient": {
"id": "8de03039-3a9e-417a-b2b3-a8b8df183631",
"mrn": "MRN-10042",
"firstName": "Sarah",
"lastName": "Johnson",
"middleName": "Marie",
"gender": "Female",
"dateOfBirth": "1985-03-15",
"email": "sarah.johnson@email.com",
"phone": "(555) 123-4567",
"avatar": "https://s3.amazonaws.com/bucket/patients-avatars/org/avatar.jpg?X-Amz-...",
"createdAt": "2024-08-15T09:30:00.000Z",
"updatedAt": "2025-01-20T14:22:00.000Z"
},
"facility": {
"id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e",
"name": "West LA Dermatology",
"timezone": "America/Los_Angeles",
"specialty": "Dermatology",
"isVisible": true,
"organizationNpi": "1234567890",
"createdAt": "2024-05-01T10:00:00.000Z",
"updatedAt": "2025-01-15T12:30:00.000Z"
},
"ehrType": "modmed",
"assignedProviders": [
{
"id": "d4e5f6a7-b8c9-4d0e-1f2a-3b4c5d6e7f8a",
"firstName": "James",
"lastName": "Wilson",
"displayFirstName": "Dr. James",
"displayLastName": "Wilson, MD",
"username": "jwilson",
"roles": [
"Physician"
],
"individualNpi": "1234567890",
"canFinalize": true,
"canCosign": false,
"hidden": false,
"roleType": "PRIMARY_PROVIDER"
}
],
"createdAt": "2026-03-20 18:35:10.209452+00",
"updatedAt": "2026-03-23 03:15:47.285+00",
"soapNote": {
"hpi": {
"historicalSummary": "<string>",
"chiefComplaints": [
{
"title": "Rash",
"description": "Patient presents with a rash on the left forearm for 3 weeks.",
"impressionId": 884213
}
],
"secondaryComplaints": [
{
"title": "Rash",
"description": "Patient presents with a rash on the left forearm for 3 weeks.",
"impressionId": 884213
}
],
"additionalHpiComments": "<string>",
"independentHistorian": "<string>",
"ros": "<string>"
},
"exam": {
"documentedExams": [
{
"title": "Exam - Full Skin",
"description": "<string>"
}
],
"otherExamComments": "<string>"
},
"impressionsPlans": [
{
"name": "Actinic keratosis",
"summary": "<string>",
"morphology": "Pink erythematous macule/patch",
"dxComplexity": "Low",
"dxComplexityIsEhrDefault": true,
"dxStatus": "Improved",
"diagnosisCodes": [
"L57.0"
],
"bodyLocations": [
"<string>"
],
"overrideNote": "<string>",
"isNew": true,
"isRuleout": true,
"associatedDx": "<string>",
"causeDx": "<string>",
"ddx": "<string>",
"plans": [
{
"title": "Cryotherapy",
"location": "<string>",
"fullText": "<string>",
"impressionId": 123
}
],
"assessments": [
{
"name": "Investigator's Static Global Assessment",
"value": "2.0 - mild"
}
],
"impressionId": 123
}
],
"impressionsPlansComments": "<string>",
"dataReviewed": "<string>",
"vitals": [
{
"dateTime": "<string>",
"takenByIntegrationUserId": "<string>",
"temperature": 123,
"temperatureType": "F",
"pulse": 123,
"bpSystolic": 123,
"bpDiastolic": 123,
"bpPosition": "SITTING",
"respiration": 123,
"oxygenSaturation": 123,
"fio2": 123,
"fio2Device": "Nasal Cannula - 1 Liter",
"weight": 123,
"weightType": "<string>",
"height": 123,
"heightType": "<string>",
"bmi": 123,
"bsa": "<string>"
}
],
"rx": [
{
"drugName": "Triamcinolone 0.1% ointment",
"sig": "Apply thin layer twice daily",
"status": "document_only",
"startDateUtc": "<string>",
"endDateUtc": "<string>",
"diagnosis": "<string>",
"quantity": 123,
"quantityQualifier": "Grams",
"daysSupply": 123,
"refills": 123
}
],
"tests": [
{
"testDate": "<string>",
"testType": "pathology",
"procedureTest": "<string>",
"location": "<string>",
"result": "<string>",
"status": "<string>",
"completed": true,
"plan": "<string>",
"subType": "<string>",
"biopsyLabelNumber": "<string>",
"icdCodes": [
"<string>"
],
"problems": [
{
"name": "<string>"
}
]
}
],
"clinicalNotes": [
{
"type": "PROCEDURE_NOTE",
"description": "<string>"
}
],
"attachments": [
{
"integrationFileId": "<string>"
}
],
"stickyNote": {
"description": "<string>",
"createdByIntegrationUserId": "<string>"
},
"billing": [
{
"procedureCode": "J3245",
"modifiers": [
"25"
],
"description": "Tildrakizumab-asmn injection, 100 mg",
"diagnosisCodes": [
{
"icd9": "780.52",
"icd10": "G47.00",
"description": "Insomnia, unspecified"
}
],
"units": 1,
"unitPrice": 1250.5,
"chargeType": "<string>"
}
],
"appointments": [
{
"reason": "<string>",
"scheduledStartDate": "<string>",
"scheduledEndDate": "<string>",
"scheduledDuration": 123,
"status": "COMPLETED",
"appointmentType": {
"name": "<string>",
"abbreviation": "<string>"
},
"providerIntegrationUserId": "<string>",
"facility": "<string>"
}
],
"mips": [
{
"number": 226,
"title": "<string>",
"content": "<string>"
}
],
"counseling": [
{
"title": "<string>",
"content": "<string>"
}
],
"history": [
{
"title": "<string>",
"content": [
"<string>"
]
}
],
"careTeam": {
"physician": {
"id": "<string>",
"fullName": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"username": "<string>"
},
"primaryBiller": {
"id": "<string>",
"fullName": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"username": "<string>"
},
"attendees": [
{
"id": 123,
"staff": {
"id": "<string>",
"fullName": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"username": "<string>"
}
}
]
},
"followUp": [
{
"description": "Follow Up 6 Weeks"
}
],
"timeSpent": {
"minutes": 123,
"activities": [
"<string>"
],
"attestation": "<string>"
},
"emBilling": {
"patientStatusLabel": "<string>",
"billAsNewPatient": true,
"overrideEmCode": "<string>"
},
"addenda": [
{
"note": "<string>",
"signature": "<string>"
}
]
}
}
}{
"code": "bad_request",
"message": "'id' must be a valid UUID",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}{
"code": "unauthorized",
"message": "Invalid or missing API key",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}{
"code": "forbidden",
"message": "Insufficient scope",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}{
"code": "not_found",
"message": "Resource not found",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}{
"code": "conflict",
"message": "Cannot edit a signed note",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}{
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Maximum 1000 requests per 60 seconds.",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}{
"code": "unexpected_integration_error",
"message": "EHR sync failed",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}{
"code": "server_unresponsive",
"message": "EHR integration is not available for this note",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}Notes
Edit SOAP note fields
Updates one or more SOAP note text fields and synchronously pushes changes to the EHR. Only provided fields are updated. Returns the updated note with SOAP content. Requires write:soap_notes scope.
PATCH
/
notes
/
{noteId}
Edit SOAP note fields
curl --request PATCH \
--url https://api.maxcare.ai/v1/notes/{noteId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Organization-Id: <x-organization-id>' \
--data '
{
"additionalHpiComments": "Patient reports improvement since last visit.",
"impressionsPlansComments": "Continue current treatment plan for 3 months.",
"otherExamComments": "No new lesions noted on re-examination.",
"stickyNoteDescription": "Patient prefers morning appointments."
}
'import requests
url = "https://api.maxcare.ai/v1/notes/{noteId}"
payload = {
"additionalHpiComments": "Patient reports improvement since last visit.",
"impressionsPlansComments": "Continue current treatment plan for 3 months.",
"otherExamComments": "No new lesions noted on re-examination.",
"stickyNoteDescription": "Patient prefers morning appointments."
}
headers = {
"X-Organization-Id": "<x-organization-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'X-Organization-Id': '<x-organization-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
additionalHpiComments: 'Patient reports improvement since last visit.',
impressionsPlansComments: 'Continue current treatment plan for 3 months.',
otherExamComments: 'No new lesions noted on re-examination.',
stickyNoteDescription: 'Patient prefers morning appointments.'
})
};
fetch('https://api.maxcare.ai/v1/notes/{noteId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.maxcare.ai/v1/notes/{noteId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'additionalHpiComments' => 'Patient reports improvement since last visit.',
'impressionsPlansComments' => 'Continue current treatment plan for 3 months.',
'otherExamComments' => 'No new lesions noted on re-examination.',
'stickyNoteDescription' => 'Patient prefers morning appointments.'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"X-Organization-Id: <x-organization-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.maxcare.ai/v1/notes/{noteId}"
payload := strings.NewReader("{\n \"additionalHpiComments\": \"Patient reports improvement since last visit.\",\n \"impressionsPlansComments\": \"Continue current treatment plan for 3 months.\",\n \"otherExamComments\": \"No new lesions noted on re-examination.\",\n \"stickyNoteDescription\": \"Patient prefers morning appointments.\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-Organization-Id", "<x-organization-id>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.maxcare.ai/v1/notes/{noteId}")
.header("X-Organization-Id", "<x-organization-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"additionalHpiComments\": \"Patient reports improvement since last visit.\",\n \"impressionsPlansComments\": \"Continue current treatment plan for 3 months.\",\n \"otherExamComments\": \"No new lesions noted on re-examination.\",\n \"stickyNoteDescription\": \"Patient prefers morning appointments.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.maxcare.ai/v1/notes/{noteId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-Organization-Id"] = '<x-organization-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"additionalHpiComments\": \"Patient reports improvement since last visit.\",\n \"impressionsPlansComments\": \"Continue current treatment plan for 3 months.\",\n \"otherExamComments\": \"No new lesions noted on re-examination.\",\n \"stickyNoteDescription\": \"Patient prefers morning appointments.\"\n}"
response = http.request(request)
puts response.read_body{
"code": "success",
"data": {
"id": "3cc73cb6-9c59-403c-a910-8af6c5693b25",
"version": 3,
"visitDate": "2026-03-20 18:30:00+00",
"status": "awaiting_sign",
"aiStatus": "issues_found",
"aiIssueCount": 2,
"patient": {
"id": "8de03039-3a9e-417a-b2b3-a8b8df183631",
"mrn": "MRN-10042",
"firstName": "Sarah",
"lastName": "Johnson",
"middleName": "Marie",
"gender": "Female",
"dateOfBirth": "1985-03-15",
"email": "sarah.johnson@email.com",
"phone": "(555) 123-4567",
"avatar": "https://s3.amazonaws.com/bucket/patients-avatars/org/avatar.jpg?X-Amz-...",
"createdAt": "2024-08-15T09:30:00.000Z",
"updatedAt": "2025-01-20T14:22:00.000Z"
},
"facility": {
"id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e",
"name": "West LA Dermatology",
"timezone": "America/Los_Angeles",
"specialty": "Dermatology",
"isVisible": true,
"organizationNpi": "1234567890",
"createdAt": "2024-05-01T10:00:00.000Z",
"updatedAt": "2025-01-15T12:30:00.000Z"
},
"ehrType": "modmed",
"assignedProviders": [
{
"id": "d4e5f6a7-b8c9-4d0e-1f2a-3b4c5d6e7f8a",
"firstName": "James",
"lastName": "Wilson",
"displayFirstName": "Dr. James",
"displayLastName": "Wilson, MD",
"username": "jwilson",
"roles": [
"Physician"
],
"individualNpi": "1234567890",
"canFinalize": true,
"canCosign": false,
"hidden": false,
"roleType": "PRIMARY_PROVIDER"
}
],
"createdAt": "2026-03-20 18:35:10.209452+00",
"updatedAt": "2026-03-23 03:15:47.285+00",
"soapNote": {
"hpi": {
"historicalSummary": "<string>",
"chiefComplaints": [
{
"title": "Rash",
"description": "Patient presents with a rash on the left forearm for 3 weeks.",
"impressionId": 884213
}
],
"secondaryComplaints": [
{
"title": "Rash",
"description": "Patient presents with a rash on the left forearm for 3 weeks.",
"impressionId": 884213
}
],
"additionalHpiComments": "<string>",
"independentHistorian": "<string>",
"ros": "<string>"
},
"exam": {
"documentedExams": [
{
"title": "Exam - Full Skin",
"description": "<string>"
}
],
"otherExamComments": "<string>"
},
"impressionsPlans": [
{
"name": "Actinic keratosis",
"summary": "<string>",
"morphology": "Pink erythematous macule/patch",
"dxComplexity": "Low",
"dxComplexityIsEhrDefault": true,
"dxStatus": "Improved",
"diagnosisCodes": [
"L57.0"
],
"bodyLocations": [
"<string>"
],
"overrideNote": "<string>",
"isNew": true,
"isRuleout": true,
"associatedDx": "<string>",
"causeDx": "<string>",
"ddx": "<string>",
"plans": [
{
"title": "Cryotherapy",
"location": "<string>",
"fullText": "<string>",
"impressionId": 123
}
],
"assessments": [
{
"name": "Investigator's Static Global Assessment",
"value": "2.0 - mild"
}
],
"impressionId": 123
}
],
"impressionsPlansComments": "<string>",
"dataReviewed": "<string>",
"vitals": [
{
"dateTime": "<string>",
"takenByIntegrationUserId": "<string>",
"temperature": 123,
"temperatureType": "F",
"pulse": 123,
"bpSystolic": 123,
"bpDiastolic": 123,
"bpPosition": "SITTING",
"respiration": 123,
"oxygenSaturation": 123,
"fio2": 123,
"fio2Device": "Nasal Cannula - 1 Liter",
"weight": 123,
"weightType": "<string>",
"height": 123,
"heightType": "<string>",
"bmi": 123,
"bsa": "<string>"
}
],
"rx": [
{
"drugName": "Triamcinolone 0.1% ointment",
"sig": "Apply thin layer twice daily",
"status": "document_only",
"startDateUtc": "<string>",
"endDateUtc": "<string>",
"diagnosis": "<string>",
"quantity": 123,
"quantityQualifier": "Grams",
"daysSupply": 123,
"refills": 123
}
],
"tests": [
{
"testDate": "<string>",
"testType": "pathology",
"procedureTest": "<string>",
"location": "<string>",
"result": "<string>",
"status": "<string>",
"completed": true,
"plan": "<string>",
"subType": "<string>",
"biopsyLabelNumber": "<string>",
"icdCodes": [
"<string>"
],
"problems": [
{
"name": "<string>"
}
]
}
],
"clinicalNotes": [
{
"type": "PROCEDURE_NOTE",
"description": "<string>"
}
],
"attachments": [
{
"integrationFileId": "<string>"
}
],
"stickyNote": {
"description": "<string>",
"createdByIntegrationUserId": "<string>"
},
"billing": [
{
"procedureCode": "J3245",
"modifiers": [
"25"
],
"description": "Tildrakizumab-asmn injection, 100 mg",
"diagnosisCodes": [
{
"icd9": "780.52",
"icd10": "G47.00",
"description": "Insomnia, unspecified"
}
],
"units": 1,
"unitPrice": 1250.5,
"chargeType": "<string>"
}
],
"appointments": [
{
"reason": "<string>",
"scheduledStartDate": "<string>",
"scheduledEndDate": "<string>",
"scheduledDuration": 123,
"status": "COMPLETED",
"appointmentType": {
"name": "<string>",
"abbreviation": "<string>"
},
"providerIntegrationUserId": "<string>",
"facility": "<string>"
}
],
"mips": [
{
"number": 226,
"title": "<string>",
"content": "<string>"
}
],
"counseling": [
{
"title": "<string>",
"content": "<string>"
}
],
"history": [
{
"title": "<string>",
"content": [
"<string>"
]
}
],
"careTeam": {
"physician": {
"id": "<string>",
"fullName": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"username": "<string>"
},
"primaryBiller": {
"id": "<string>",
"fullName": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"username": "<string>"
},
"attendees": [
{
"id": 123,
"staff": {
"id": "<string>",
"fullName": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"username": "<string>"
}
}
]
},
"followUp": [
{
"description": "Follow Up 6 Weeks"
}
],
"timeSpent": {
"minutes": 123,
"activities": [
"<string>"
],
"attestation": "<string>"
},
"emBilling": {
"patientStatusLabel": "<string>",
"billAsNewPatient": true,
"overrideEmCode": "<string>"
},
"addenda": [
{
"note": "<string>",
"signature": "<string>"
}
]
}
}
}{
"code": "bad_request",
"message": "'id' must be a valid UUID",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}{
"code": "unauthorized",
"message": "Invalid or missing API key",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}{
"code": "forbidden",
"message": "Insufficient scope",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}{
"code": "not_found",
"message": "Resource not found",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}{
"code": "conflict",
"message": "Cannot edit a signed note",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}{
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Maximum 1000 requests per 60 seconds.",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}{
"code": "unexpected_integration_error",
"message": "EHR sync failed",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}{
"code": "server_unresponsive",
"message": "EHR integration is not available for this note",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}Authorizations
Marketplace API key
Headers
Target clinic organization ID
Path Parameters
Note ID (stable root ID or any version ID)
Query Parameters
Body
application/json
Additional HPI comments text (use empty string to clear)
Example:
"Patient reports improvement since last visit."
Impressions & Plans additional comments text (use empty string to clear)
Example:
"Continue current treatment plan for 3 months."
Other physical exam comments text (use empty string to clear)
Example:
"No new lesions noted on re-examination."
Patient sticky note description (patient-level, not note-level; use empty string to clear)
Example:
"Patient prefers morning appointments."
