Patients

Get a list of patients

Changed on

Retrieve a list of patients.

Filtering: Filter records by field values using the format: field[operator]=value

Available fields:

  • public_id: string
  • created_at: ISO 8601 datetime (e.g. 2025-01-01T12:00:00Z)
  • updated_at: ISO 8601 datetime

Available operators:

  • eq: Equals
  • gt: Greater than
  • gte: Greater than or equal
  • lt: Less than
  • lte: Less than or equal

Date-time filters (ex. created_at, updated_at) must:

  • Use ISO 8601 date-time format
  • Be precise to the second (e.g. 2025-01-01T12:00:00Z)

Free-text search across name, email, phone, and patient number is available via POST /patients/search (PII is not supported in query strings).

Examples:

/patients?public_id[eq]=abc123
/patients?created_at[gte]=2025-01-01T00:00:00Z&created_at[lt]=2025-01-02T00:00:00Z
get/api/2026-01-01/patients

Request

  • Base URL
    https://jdpdocsdemo.jane.qa
  • URL
    https://jdpdocsdemo.jane.qa/api/2026-01-01/patients
  • 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

Query parameters

page[cursor]string
Example:eyJwYWdlIjoyLCJzaXplIjo1fQ==

The Base64 encoded cursor to start the list from. Contains page and size information for pagination.

page[limit]integer

The number of records to return

sortstring

Comma-separated list of fields to sort by. Prefix a field with '-' for descending order.

Examples:

  • sort=updated_at,-public_id sorts by updated_at ascending, then public_id descending.
  • sort=-created_at sorts by created_at descending.

Available fields:

  • public_id
  • created_at
  • updated_at
eqstring

equals. Multiple equal values are comma-separated: ?field[eq]=value1,value2 (maximum 100 values)

nestring

not equals

costring

contains. Performs partial match (case-insensitive for string fields). Example: ?field[co]=search_term

gtstring

greater than

gtestring

greater than or equal to

ltstring

less than

ltestring

less than or equal to

swstring

starts with. Performs case-insensitive partial match for words in a string that begin with search term. Example: ?field[sw]=search_term

Filter by public_id. Example: public_id[eq]=123

eqstring date-time

equals. Multiple equal values are comma-separated: ?field[eq]=value1,value2

nestring date-time

not equals

gtstring date-time

greater than

gtestring date-time

greater than or equal to

ltstring date-time

less than

ltestring date-time

less than or equal to

Filter by created_at timestamp (ISO 8601). Example: created_at[gte]=2025-01-01T00:00:00Z

eqstring date-time

equals. Multiple equal values are comma-separated: ?field[eq]=value1,value2

nestring date-time

not equals

gtstring date-time

greater than

gtestring date-time

greater than or equal to

ltstring date-time

less than

ltestring date-time

less than or equal to

Filter by updated_at timestamp (ISO 8601). Example: updated_at[lt]=2025-01-02T00:00:00Z

Response

The paginated list of 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==",
  "links": {
    "after": "/api/2026-01-01/patients?page[cursor]=eyJwYWdlIjozLCJzaXplIjo1fQ==&page[limit]=5"
  }
}

Changes