EZDERM
Generate custom report
Generate a filtered CSV report.
POSThttps://preview.ontross.com/api/integrations/ezderm/generate-custom-report
Appointment report quick start
Date range
start_date is inclusive and end_date is exclusive. To report Sep 9–15, send an end timestamp of Sep 16 at midnight.
All New Patient complaints
Send chief_complaint_names: ["New Patient"]. The API resolves and includes each provider-specific complaint ID; you do not need to collect those IDs from the UI.
Additional filters
Use the full API schema for provider, clinic, payer, appointment-type, status, resource, patient-age, and grouping filters. Any newly introduced EZDerm filter can be supplied through additional_filter_information.
Request Fields
input.filters
object
requiredDate range and appointment filters
input.filters.start_date
string
requiredInclusive start timestamp
Example
"2026-09-09T00:00:00+05:30"input.filters.end_date
string
requiredExclusive end timestamp
Example
"2026-09-16T00:00:00+05:30"input.filters.time_zone_id
string
requiredIANA time-zone ID
Example
"Asia/Calcutta"input.filters.provider_type
string
Provider relationship used for the report
Default
"ATTENDING_PROVIDER"input.filters.chief_complaint_names
array
Names to resolve for every relevant provider
Example
["New Patient"]input.columns
array
requiredCSV columns, in output order
Example
["patientName","phone","apptTime","apptDate","provider"]input.report_type
string
EZDerm report type
Default
"APPOINTMENTS"auth_id
string
requiredSaved EZDerm authentication ID
Output Fields
report_type
string
Which EZDerm report to run, APPOINTMENTS when omitted.
Example
"APPOINTMENTS"columns
array
CSV column keys to return, named the way EZDerm names them.
csv_base64
string
The report CSV, base64 encoded, so decode before reading.
Example
"YXBwdERhdGUKMjAyNi0wOC0wNgo="Code
curl --request POST \
--url https://preview.ontross.com/api/integrations/ezderm/generate-custom-report \
--header 'X-API-Key: REPLACE_KEY_VALUE' \
--header 'content-type: application/json' \
--data '{"auth_id":"auth_uuid_here","input":{"report_type":"APPOINTMENTS","filters":{"start_date":"2026-09-09T00:00:00+05:30","end_date":"2026-09-16T00:00:00+05:30","time_zone_id":"Asia/Calcutta","provider_type":"ATTENDING_PROVIDER","chief_complaint_names":["New Patient"]},"columns":["patientName","phone","apptTime","apptDate","provider"]}}'Request BODY
{
"auth_id": "auth_uuid_here",
"input": {
"report_type": "APPOINTMENTS",
"filters": {
"start_date": "2026-09-09T00:00:00+05:30",
"end_date": "2026-09-16T00:00:00+05:30",
"time_zone_id": "Asia/Calcutta",
"provider_type": "ATTENDING_PROVIDER",
"chief_complaint_names": [
"New Patient"
]
},
"columns": [
"patientName",
"phone",
"apptTime",
"apptDate",
"provider"
]
}
}Response BODY
{
"id": "string",
"workflow_id": "string",
"auth_id": "string",
"status": "string",
"input": {},
"output": {
"report_type": "APPOINTMENTS",
"columns": [
"string"
],
"csv_base64": "YXBwdERhdGUKMjAyNi0wOC0wNgo="
},
"files": null,
"created_at": "2019-08-24T14:15:22Z",
"started_at": "2019-08-24T14:15:22Z",
"completed_at": "2019-08-24T14:15:22Z"
}