Patients

Search patients by free text

Changed on

Free-text patient search across name, email, phone number, and patient number.

This is a POST-body endpoint specifically so PII (patient names, email, phone) does not leak into URL query strings, access logs, browser history, or referrer headers.

Scope is intentionally search-only: the body accepts search, sort, and page. Structured filters (public_id, created_at, updated_at) are not supported here — use GET /patients for those. Combined search + structured filtering is a deliberate follow-up if a consumer need materializes.

Filter operators:

  • search: co (contains) only

Pagination: the response returns a cursor and hasNextPage. To fetch subsequent pages, re-POST the same body with page.cursor set to the previous response's cursor. The links object is omitted from this endpoint's response (GET-style pagination URLs would re-expose filter PII in query strings).

Example body:

{
  "search": { "co": "Jane Smith" },
  "sort": "-created_at",
  "page": { "limit": 50 }
}
post/api/2026-01-01/patients/search

Request

  • Base URL
    https://jdpdocsdemo.jane.qa
  • URL
    https://jdpdocsdemo.jane.qa/api/2026-01-01/patients/search
  • Auth
    OAuth 2
    Authorization code: https://login.id.janeapp.com/realms/jane_partner_sandbox/protocol/openid-connect/auth?response_type=code&resource=https://jdpdocsdemo.jane.qa&prompt=consent
    Token URL: https://login.id.janeapp.com/realms/jane_partner_sandbox/protocol/openid-connect/token scopes: patients:read

Request body

sortstring

Comma-separated list of fields to sort by. Prefix a field with '-' for descending order. Example: -created_at,updated_at.

Response

The paginated list of matching patients

cursorstring nullable

The Base64 encoded cursor for the next page. null if this is the last page.

limitinteger
hasNextPageboolean

Whether there is a next page of patients

Example response

{
  "items": [
    {
      "deep_links": {
        "profile": {
          "web": "https://account.janeapp.com/admin#patients/0199173f-240f-7f6a-9bce-a9836f536f03"
        }
      }
    }
  ],
  "cursor": "eyJwYWdlIjozLCJzaXplIjo1fQ=="
}

Changes