# Developers.Jane Documentation > Documentation for Developers.Jane ## Guides - [Jane Developer Platform API Quick Start Guide](https://developers.jane.app/docs/getting-started.md) ## API Reference - [Get an observation](https://developers.jane.app/reference/getobservation-1.md): Get an observation by its ID - [Update an observation](https://developers.jane.app/reference/updateobservation-1.md): Update an observation by its ID - [Create an observation](https://developers.jane.app/reference/createobservation-1.md): Create an observation - [List observations](https://developers.jane.app/reference/listobservations.md): List medical record observations for the current user's accessible patients. - [Get a care plan](https://developers.jane.app/reference/getcareplan-1.md): Get a care plan by its ID - [Update a care plan](https://developers.jane.app/reference/updatecareplan-1.md): Update a care plan by its ID - [Create a care plan](https://developers.jane.app/reference/createcareplan-1.md): Create a care plan - [Get a care plan activity](https://developers.jane.app/reference/getcareplanactivity-1.md): Get a care plan activity by its ID - [Update a care plan activity](https://developers.jane.app/reference/updatecareplanactivity-1.md): Update a care plan activity by its ID - [Create a care plan activity](https://developers.jane.app/reference/createcareplanactivity-1.md): Create a care plan activity - [List care plans](https://developers.jane.app/reference/listcareplans.md): List medical record care plans for the current user's accessible patients. - [Get a medication](https://developers.jane.app/reference/getmedication.md): Get a medication by its ID - [Update a medication](https://developers.jane.app/reference/updatemedication.md): Update a medication by its ID - [List medications](https://developers.jane.app/reference/listmedications.md): List medications for the current user's accessible patients - [Create a medication](https://developers.jane.app/reference/createmedication.md): Create a new medication record for a patient - [Get medication change history](https://developers.jane.app/reference/getmedicationhistory.md): Retrieves the complete change history for a medication, including: - Who made each change - What was modified - When the change occurred - Reason for the change (if provided) Returns all history entries without pagination. - [Get a Patient](https://developers.jane.app/reference/getpatient-1.md): Retrieve detailed patient information using their unique identifier - [Get a list of patients](https://developers.jane.app/reference/getpatients-1.md): 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](https://en.wikipedia.org/wiki/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 ``` - [Search patients by free text](https://developers.jane.app/reference/searchpatients.md): 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: ```json { "search": { "co": "Jane Smith" }, "sort": "-created_at", "page": { "limit": 50 } } ``` - [Get a Location](https://developers.jane.app/reference/getlocation-1.md): Retrieve detailed location information using the unique identifier - [Get a list of locations](https://developers.jane.app/reference/getlocations-1.md): Retrieve a paginated list of locations. 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](https://en.wikipedia.org/wiki/ISO_8601) date-time format - Be **precise to the second** (e.g. `2025-01-01T12:00:00Z`) Examples: ``` /locations?public_id[eq]=abc123 /locations?created_at[gte]=2025-01-01T00:00:00Z&created_at[lt]=2025-01-02T00:00:00Z ``` - [Get a Staff Member](https://developers.jane.app/reference/getastaffmember-1.md): Retrieve detailed staff member using their unique identifier - [List Staff Members](https://developers.jane.app/reference/liststaffmembersversioned-1.md): List Staff Members. 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](https://en.wikipedia.org/wiki/ISO_8601) date-time format - Be **precise to the second** (e.g. `2025-01-01T12:00:00Z`) Examples: ``` /staff_members?public_id[eq]=abc123 /staff_members?created_at[gte]=2025-01-01T00:00:00Z&created_at[lt]=2025-01-02T00:00:00Z ``` - [Get an Appointment](https://developers.jane.app/reference/getanappointment.md): Retrieve detailed appointment information using its unique identifier - [List Appointments](https://developers.jane.app/reference/listappointmentsversioned.md): List Appointments. This endpoint only returns one on one bookings. Excludes class bookings, group appointments, etc. Filtering: Filter records by field values using the format: field[operator]=value Available fields: - `public_id`: string - `start_at`: ISO 8601 datetime (e.g. 2025-01-01T12:00:00Z) - `end_at`: ISO 8601 datetime - `patient_id`: UUID String - `staff_member_id`: UUID String - `location_id`: UUID String - `treatment_id`: UUID String - `created_at`: ISO 8601 datetime - `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. `start_at`, `end_at`, `created_at`, `updated_at`) must: - Use [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format - Be **precise to the second** (e.g. `2025-01-01T12:00:00Z`) Examples: ``` /appointments?public_id[eq]=abc123 /appointments?created_at[gte]=2025-01-01T00:00:00Z&created_at[lt]=2025-01-02T00:00:00Z ``` - [Get details about the company](https://developers.jane.app/reference/getcompany-1.md): Retrieve details about the company - [Get an uploaded document](https://developers.jane.app/reference/getdocumentuploads-1.md): Retrieve a document previously uploaded by the authenticated user. Only the user who originally uploaded the document can access it. - [Upload a document](https://developers.jane.app/reference/postdocumentuploads-1.md): Upload a document file to receive a document ID that can be referenced in other API calls (e.g. attaching a document to a clinical record). The uploaded file is stored securely and a presigned URL is returned in the response for temporary access. Accepted file types are PDF, JPEG, and PNG. Maximum file size is 50 MB. - [Get a Discipline](https://developers.jane.app/reference/getdiscipline-1.md): Get a Discipline by its ID - [List Disciplines](https://developers.jane.app/reference/listdisciplinesversioned-1.md): List Disciplines. 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](https://en.wikipedia.org/wiki/ISO_8601) date-time format - Be **precise to the second** (e.g. `2025-01-01T12:00:00Z`) Examples: ``` /disciplines?public_id[eq]=abc123 /disciplines?created_at[gte]=2025-01-01T00:00:00Z&created_at[lt]=2025-01-02T00:00:00Z ``` - [List Treatments](https://developers.jane.app/reference/listtreatmentsversioned-1.md): Returns a list of treatments with pagination support. Filtering: Filter records by field values using the format: field[operator]=value Available fields: - `public_id`: string - `staff_member_ids`: UUID string — returns treatments owned by or offered by the staff member (via available treatments) - `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 Operator restrictions: - `public_id` and `staff_member_ids` only support `eq` - `created_at` and `updated_at` support all operators above Date-time filters (ex. `created_at`, `updated_at`) must: - Use [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format - Be **precise to the second** (e.g. `2025-01-01T12:00:00Z`) Examples: ``` /treatments?public_id[eq]=abc123 /treatments?created_at[gte]=2025-01-01T00:00:00Z&created_at[lt]=2025-01-02T00:00:00Z ``` - [Get a Treatment](https://developers.jane.app/reference/gettreatment-1.md): Returns a treatment by its ID. - [List webhook subscriptions](https://developers.jane.app/reference/getwebhooks.md): Returns all webhook subscriptions registered by the authenticated partner for the current clinic. - [Register a webhook subscription](https://developers.jane.app/reference/postwebhooks.md): Registers a new webhook subscription for the authenticated partner. The signing secret is returned only in this response and cannot be retrieved again — store it securely. The secret is used to verify that webhook payloads are sent by Jane. - [Retrieve a webhook subscription](https://developers.jane.app/reference/getwebhook.md): Returns the details of a single webhook subscription by ID. - [Deregister a webhook subscription](https://developers.jane.app/reference/deletewebhook.md): Permanently removes a webhook subscription. The partner will no longer receive events for this subscription. - [Delete Extension](https://developers.jane.app/reference/deleteextension.md): Deletes an extension - [Update Extension](https://developers.jane.app/reference/updateextension.md): Updates an existing extension - [Get Extension](https://developers.jane.app/reference/getextension.md): Retrieves a specific extension by ID - [List Extensions](https://developers.jane.app/reference/getextensions.md): Retrieves a list of extensions - [Create Extension](https://developers.jane.app/reference/createextension.md): Creates a new extension - [Get Catalog Extensions](https://developers.jane.app/reference/getcatalogextensions.md): Retrieves the catalog with all available approved extensions - [Get Catalog Extension](https://developers.jane.app/reference/getcatalogextension.md): Retrieves a specific extension from the catalog