{ "opencollection": "1.0.0", "info": { "name": "Nookal API", "version": "v2", "description": "REST API for Nookal allied-health practice management software. Base URL https://api.nookal.com/production/v2. Authenticated with an account-issued API key passed as the api_key parameter (query string for GET, form field for POST). Responses use a JSON envelope: {\"status\":\"success\"|\"failure\",\"data\":{...},\"details\":{...}}. Endpoint paths grounded in the Nookal API reference; verify, getLocations, and getPatients confirmed live." }, "items": [ { "info": { "name": "Verification", "type": "folder" }, "items": [ { "info": { "name": "Verify API key", "type": "http" }, "http": { "method": "GET", "url": "https://api.nookal.com/production/v2/verify?api_key={{apiKey}}" }, "docs": "Verifies that the supplied API key is valid and connected to a Nookal account. Confirmed live." } ] }, { "info": { "name": "Clinic", "type": "folder" }, "items": [ { "info": { "name": "Get locations", "type": "http" }, "http": { "method": "GET", "url": "https://api.nookal.com/production/v2/getLocations?api_key={{apiKey}}" }, "docs": "Retrieves the clinic locations for the account. Confirmed live." }, { "info": { "name": "Get practitioners", "type": "http" }, "http": { "method": "GET", "url": "https://api.nookal.com/production/v2/getPractitioners?api_key={{apiKey}}" }, "docs": "Retrieves the practitioners for the account." }, { "info": { "name": "Get appointment types", "type": "http" }, "http": { "method": "GET", "url": "https://api.nookal.com/production/v2/getAppointmentTypes?api_key={{apiKey}}" }, "docs": "Retrieves the appointment types configured for the account." }, { "info": { "name": "Get class types", "type": "http" }, "http": { "method": "GET", "url": "https://api.nookal.com/production/v2/getClassTypes?api_key={{apiKey}}" }, "docs": "Retrieves the class types configured for the account." }, { "info": { "name": "Get stock list", "type": "http" }, "http": { "method": "GET", "url": "https://api.nookal.com/production/v2/getStockList?api_key={{apiKey}}" }, "docs": "Retrieves the stock/inventory items for the account." } ] }, { "info": { "name": "Patients", "type": "folder" }, "items": [ { "info": { "name": "Get patients", "type": "http" }, "http": { "method": "GET", "url": "https://api.nookal.com/production/v2/getPatients?api_key={{apiKey}}&page=1&page_length=100" }, "docs": "Lists patients in the account (paginated). Confirmed live." }, { "info": { "name": "Search patients", "type": "http" }, "http": { "method": "GET", "url": "https://api.nookal.com/production/v2/searchPatients?api_key={{apiKey}}&last_name=Smith&first_name=John&fuzzy_search=true" }, "docs": "Searches patients by name, email + DOB, patient_id, or online_code." }, { "info": { "name": "Get cases for a patient", "type": "http" }, "http": { "method": "GET", "url": "https://api.nookal.com/production/v2/getCases?api_key={{apiKey}}&patient_id=1" }, "docs": "Retrieves the cases for a patient." }, { "info": { "name": "Add a patient", "type": "http" }, "http": { "method": "POST", "url": "https://api.nookal.com/production/v2/addPatient", "body": { "type": "urlencoded", "data": "api_key={{apiKey}}&first_name=John&last_name=Smith&date_of_birth=1990-01-01" } }, "docs": "Creates a new patient record. first_name, last_name, and date_of_birth are required." }, { "info": { "name": "Get treatment notes for a patient", "type": "http" }, "http": { "method": "GET", "url": "https://api.nookal.com/production/v2/getTreatmentNotes?api_key={{apiKey}}&patient_id=1" }, "docs": "Retrieves treatment notes for a patient." }, { "info": { "name": "Add a treatment note", "type": "http" }, "http": { "method": "POST", "url": "https://api.nookal.com/production/v2/addTreatmentNote", "body": { "type": "urlencoded", "data": "api_key={{apiKey}}&patient_id=1&case_id=1&practitioner_id=1&date=2026-07-12¬es=Patient+reported+improvement." } }, "docs": "Adds a treatment note to a patient case." } ] }, { "info": { "name": "Appointments", "type": "folder" }, "items": [ { "info": { "name": "Get appointments", "type": "http" }, "http": { "method": "GET", "url": "https://api.nookal.com/production/v2/getAppointments?api_key={{apiKey}}&date_from=2026-07-01&date_to=2026-07-31" }, "docs": "Retrieves appointments, optionally filtered by date range, location, patient, or practitioner." }, { "info": { "name": "Get appointment availabilities", "type": "http" }, "http": { "method": "GET", "url": "https://api.nookal.com/production/v2/getAppointmentAvailabilities?api_key={{apiKey}}&practitioner_id=1&date_from=2026-07-01&date_to=2026-07-07" }, "docs": "Retrieves available appointment slots for a practitioner over a date range." }, { "info": { "name": "Add an appointment booking", "type": "http" }, "http": { "method": "POST", "url": "https://api.nookal.com/production/v2/addAppointmentBooking", "body": { "type": "urlencoded", "data": "api_key={{apiKey}}&location_id=1&appointment_date=2026-07-15&start_time=09:00&patient_id=1&practitioner_id=1&appointment_type_id=1" } }, "docs": "Creates a new appointment booking." }, { "info": { "name": "Cancel an appointment", "type": "http" }, "http": { "method": "POST", "url": "https://api.nookal.com/production/v2/cancelAppointment", "body": { "type": "urlencoded", "data": "api_key={{apiKey}}&appointment_id=1&patient_id=1" } }, "docs": "Cancels an existing appointment." }, { "info": { "name": "Get waiting list", "type": "http" }, "http": { "method": "GET", "url": "https://api.nookal.com/production/v2/getWaitingList?api_key={{apiKey}}" }, "docs": "Retrieves the appointment waiting list." } ] }, { "info": { "name": "Invoices", "type": "folder" }, "items": [ { "info": { "name": "Get invoices", "type": "http" }, "http": { "method": "POST", "url": "https://api.nookal.com/production/v2/getInvoices", "body": { "type": "urlencoded", "data": "api_key={{apiKey}}&patient_id=1" } }, "docs": "Retrieves invoices, optionally filtered by patient." }, { "info": { "name": "Add an invoice", "type": "http" }, "http": { "method": "POST", "url": "https://api.nookal.com/production/v2/addInvoice", "body": { "type": "urlencoded", "data": "api_key={{apiKey}}&location_id=1&patient_id=1&date=2026-07-12" } }, "docs": "Creates a new invoice for a patient at a location." }, { "info": { "name": "Add a payment to an invoice", "type": "http" }, "http": { "method": "POST", "url": "https://api.nookal.com/production/v2/addPaymentToInvoice", "body": { "type": "urlencoded", "data": "api_key={{apiKey}}&invoice_id=1&method=card&amount=89.00&date=2026-07-12" } }, "docs": "Records a payment against an invoice." } ] } ], "bundled": true }