CaraCara API

List patients

Retrieve a paginated list of patients with optional filtering.

Retrieve a paginated list of patients with optional filtering.

GET
/patients

Authorization

AuthorizationRequiredBearer <token>

Use your API key (sk_live_* or sk_test_*) as the Bearer token.

In: header

Query Parameters

pageinteger

Page number for pagination.

Default: 1
limitinteger

Number of items per page.

Default: 25Maximum: 100
searchstring

Search by name, email, phone, or joining code.

tagsstring

Comma-separated tag names to filter by.

patientTypestring
Value in: "prospect" | "patient" | "lead"
patientStatusstring
Value in: "active" | "inactive" | "archived" | "discharged"
dateFromstring

Filter patients created on or after this date.

Format: "date"
dateTostring

Filter patients created on or before this date.

Format: "date"
genderstring
ageMininteger
ageMaxinteger
hasEmailboolean
hasPhoneboolean
riskLevelstring

Filter by AI-classified risk level.

Value in: "low" | "moderate" | "high" | "critical" | "unclassified"
curl -X GET "https://platform.caramedical.com/api/v1/patients?page=1&limit=25&search=%3Cstring%3E&tags=%3Cstring%3E&patientType=prospect&patientStatus=active&dateFrom=2019-08-24&dateTo=2019-08-24&gender=%3Cstring%3E&ageMin=0&ageMax=0&hasEmail=true&hasPhone=true&riskLevel=low" \
  -H "Authorization: Bearer <token>"

Paginated list of patients.

{
  "patients": [
    {
      "id": "pat_1706000000_abc123def",
      "externalId": "string",
      "joiningCode": "PULSE-A1B2C3D4",
      "email": "user@example.com",
      "phone": "+15551234567",
      "firstName": "string",
      "lastName": "string",
      "dateOfBirth": "2019-08-24",
      "gender": "string",
      "address": "string",
      "patientType": "prospect",
      "patientStatus": "active",
      "tags": [
        "string"
      ],
      "customFields": {},
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2019-08-24T14:15:22Z"
    }
  ],
  "total": 0,
  "page": 0,
  "limit": 0,
  "totalPages": 0,
  "hasMore": true
}