{"items":[{"type":"link","label":"Dentally NexGen API","link":"/docs/versions/2026-01-01/nexgen","routeSlug":"/docs/versions/2026-01-01/nexgen","content":{"contentType":"overview","meta":{"name":"Dentally NexGen API"},"children":[{"nodeType":"container","panels":[{"title":"Download OpenAPI description","titleTranslationKey":"download.description.title","children":[{"kind":"download","label":"nexgen.json","url":"/_bundle/docs/versions/2026-01-01/nexgen.json?download"},{"kind":"download","label":"nexgen.yaml","url":"/_bundle/docs/versions/2026-01-01/nexgen.yaml?download"}]},{"title":"Overview","titleTranslationKey":"info.title","children":[{"kind":"externallink","title":"URL","titleTranslationKey":"info.contact.url","label":"https://www.dentally.com/en-gb/integrations/become-a-partner","url":"https://www.dentally.com/en-gb/integrations/become-a-partner"},{"kind":"email","title":"Dentally Partnerships","email":"dentallypartnerships@henryscheinone.com","label":"dentallypartnerships@henryscheinone.com","withCopyButton":true,"copyContent":"dentallypartnerships@henryscheinone.com"},{"kind":"externallink","title":"License","titleTranslationKey":"info.license","label":"Proprietary","url":"https://dentally.com"}]},{"title":"Languages","titleTranslationKey":"languages.title","children":[{"kind":"languages","options":[{"key":"curl","title":"curl","lang":"curl"},{"key":"javascript","title":"JavaScript","lang":"JavaScript"},{"key":"node","title":"Node.js","lang":"Node.js"},{"key":"python","title":"Python","lang":"Python"},{"key":"java","title":"Java","lang":"Java"},{"key":"csharp","title":"C#","lang":"C#"},{"key":"php","title":"PHP","lang":"PHP"},{"key":"go","title":"Go","lang":"Go"},{"key":"ruby","title":"Ruby","lang":"Ruby"},{"key":"r","title":"R","lang":"R"},{"key":"payload","title":"Payload","lang":"Payload"}]}]},{"title":"Servers","titleTranslationKey":"servers.title","children":[{"kind":"servers","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"Dentally NexGen API (2026-01-01)","showPageActions":true},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Dentally NexGen API"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" exposes HTTP resources for partner integrations"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"with Dentally. This page is the machine-readable contract; the developer"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"portal sidebar carries the rest of the documentation:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Getting started"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — make your first call."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — bearer tokens issued via Auth0."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Versioning"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — date-based revisions selected with the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Dentally-API-Version"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pagination"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — cursor-based paging using "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"cursor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" + "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Errors"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — Problem Details (RFC 7807) for every error response."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Conventions"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — naming, types, dates, nullability."},"children":[]}]}]}]}]}],"sectionId":"/"}],"sectionId":"/"}]}]}},{"type":"separator","label":"Appointments","content":null},{"type":"group","label":"Appointments","link":"/docs/versions/2026-01-01/nexgen/appointments","routeSlug":"/docs/versions/2026-01-01/nexgen/appointments","items":[{"label":"List appointments","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/appointments/list-appointments","routeSlug":"/docs/versions/2026-01-01/nexgen/appointments/list-appointments","metadata":{"seo":{"title":"List appointments","description":"Returns a paginated list of appointments for the practice identified byX-Practice-Id. Results are ordered by creation time, latest first(created_at descending), then by id descending for a stable sort."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list-appointments","name":"List appointments","isWebhook":false,"pointer":"/paths/~1appointments/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List appointments","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"paginated"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" list of appointments for the practice identified by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Results are ordered by "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"creation time"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", latest first"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" descending), then by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" descending for a stable sort."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional query parameters allow filtering results by patient, practitioner,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"site, room, and state, as well as create and update date ranges."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Date range."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Optional query parameters "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" filter by creation date,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"while "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" filter by update date. Both ends are inclusive."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"meta.cursor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" value from the response to retrieve further pages."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["appointment:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_0","description":"Maximum number of records to return per page."},{"name":"cursor","in":"query","schemaId":"schema_1","description":"Cursor reference to the next page of records."},{"name":"site_id","in":"query","schemaId":"schema_2","description":"Filter records to those occurring at the specified site. The value should be a UUID corresponding to a site within the practice."},{"name":"created_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"created_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]},{"name":"updated_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"updated_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]},{"name":"patient_id","in":"query","schemaId":"schema_2","description":"Filter appointments to those associated with the specified patient. The value should be a UUID corresponding to a patient within the practice."},{"name":"practitioner_id","in":"query","schemaId":"schema_2","description":"Filter appointments to those associated with the specified practitioner. The value should be a UUID corresponding to a practitioner within the practice."},{"name":"room_id","in":"query","schemaId":"schema_2","description":"Filter appointments to those occurring in the specified room. The value should be a UUID corresponding to a room within the practice."},{"name":"state","in":"query","schemaId":"schema_4","description":"Filter appointments to those in the specified state."}],"pointer":"/paths/~1appointments/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1appointments/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/appointments","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","required":false,"schemaId":"schema_0"},{"name":"cursor","in":"query","required":false,"schemaId":"schema_1"},{"name":"site_id","in":"query","required":false,"schemaId":"schema_2"},{"name":"created_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"created_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"patient_id","in":"query","required":false,"schemaId":"schema_2"},{"name":"practitioner_id","in":"query","required":false,"schemaId":"schema_2"},{"name":"room_id","in":"query","required":false,"schemaId":"schema_2"},{"name":"state","in":"query","required":false,"example":"Pending","schemaId":"components/schemas/appointment-state"}],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["appointment:read"]}],"responseCodes":["200","400","401","4XX","5XX"],"pointer":"/appointments","href":"appointments/list-appointments","openApiOperationId":"list-appointments","summary":"List appointments"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of appointments for the requested practice, ordered by creation time (latest first) and then by ID for a stable sort.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_5","exampleIds":["paths/~1appointments/get/responses/200/content/application~1json/examples/firstPage"]}},"schemaId":"schema_5","exampleIds":["paths/~1appointments/get/responses/200/content/application~1json/examples/firstPage"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointments/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointments/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointments/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointments/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointments/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointments/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointments/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointments/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1appointments/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_5","exampleIds":["paths/~1appointments/get/responses/200/content/application~1json/examples/firstPage"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_5","exampleIds":["paths/~1appointments/get/responses/200/content/application~1json/examples/firstPage"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointments/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointments/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointments/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointments/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointments/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointments/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointments/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointments/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/appointments/list-appointments"}],"panels":[]}]},"httpPath":"/appointments"},{"label":"Create an appointment","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/appointments/create-appointment","routeSlug":"/docs/versions/2026-01-01/nexgen/appointments/create-appointment","metadata":{"seo":{"title":"Create an appointment","description":"Creates a new appointment for the practice identified by X-Practice-Id.The appointment location (site_id) is determined by the site of the practitionerspecified in practitioner_id. On success, the newly created appointment is returnedin the data envelope with a state of Pending."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"create-appointment","name":"Create an appointment","isWebhook":false,"pointer":"/paths/~1appointments/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create an appointment","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creates a new appointment for the practice identified by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The appointment location ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"site_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") is determined by the site of the practitioner"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"specified in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"practitioner_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". On success, the newly created appointment is returned"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" envelope with a state of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Pending"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Supplied IDs must exist within the practice and be usable for booking."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An inactive patient or practitioner, a patient blocked from booking, an inactive"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"appointment reason, or an unavailable room results in "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"422"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Appointments must also fall within the practitioner's working hours; times that conflict"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"with their schedule, breaks, or blocked periods result in "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"422"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["appointment:write"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1appointments/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/create-appointment-request"}},"schemaId":"components/schemas/create-appointment-request","pointer":"/paths/~1appointments/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/appointments","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["appointment:write"]}],"requestBody":{"application/json":{"schemaId":"components/schemas/create-appointment-request"}},"responseCodes":["201","400","401","422","4XX","5XX"],"pointer":"/appointments","href":"appointments/create-appointment","openApiOperationId":"create-appointment","summary":"Create an appointment"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"schemaId":"components/schemas/create-appointment-request","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/create-appointment-request"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Successful response containing the newly created appointment resource ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_6","exampleIds":["paths/~1appointments/post/responses/201/content/application~1json/examples/appointment"]}},"schemaId":"schema_6","exampleIds":["paths/~1appointments/post/responses/201/content/application~1json/examples/appointment"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointments/post/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointments/post/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointments/post/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointments/post/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"422","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Validation Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unprocessable-entity","exampleIds":["paths/~1appointments/post/responses/422/content/application~1problem+json/examples/unprocessableEntity"]}},"schemaId":"components/schemas/unprocessable-entity","exampleIds":["paths/~1appointments/post/responses/422/content/application~1problem+json/examples/unprocessableEntity"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointments/post/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointments/post/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointments/post/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointments/post/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1appointments/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"schema_6","exampleIds":["paths/~1appointments/post/responses/201/content/application~1json/examples/appointment"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_6","exampleIds":["paths/~1appointments/post/responses/201/content/application~1json/examples/appointment"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointments/post/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointments/post/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointments/post/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointments/post/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"422","schemaId":"components/schemas/unprocessable-entity","exampleIds":["paths/~1appointments/post/responses/422/content/application~1problem+json/examples/unprocessableEntity"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unprocessable-entity","exampleIds":["paths/~1appointments/post/responses/422/content/application~1problem+json/examples/unprocessableEntity"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointments/post/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointments/post/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointments/post/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointments/post/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/appointments/create-appointment"}],"panels":[]}]},"httpPath":"/appointments"},{"label":"Get appointment by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/appointments/get-appointment","routeSlug":"/docs/versions/2026-01-01/nexgen/appointments/get-appointment","metadata":{"seo":{"title":"Get appointment by ID","description":"Returns the single appointment matching id for the practice identified byX-Practice-Id. The identifier is the same id returned when listing appointments."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get-appointment","name":"Get appointment by ID","isWebhook":false,"pointer":"/paths/~1appointments~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get appointment by ID","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"single appointment"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" matching "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for the practice identified by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The identifier is the same "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" returned when listing appointments."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If no appointment exists for that practice and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the API responds with "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"404"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["appointment:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_2","description":"Resource identifier to filter/find.","required":true}],"pointer":"/paths/~1appointments~1{id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1appointments~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/appointments/{id}","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_2"}],"query":[],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["appointment:read"]}],"responseCodes":["200","400","401","404","4XX","5XX"],"pointer":"/appointments/{id}","href":"appointments/get-appointment","openApiOperationId":"get-appointment","summary":"Get appointment by ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Successful response containing a single appointment resource ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") for the requested identifier."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_7","exampleIds":["paths/~1appointments~1{id}/get/responses/200/content/application~1json/examples/appointment"]}},"schemaId":"schema_7","exampleIds":["paths/~1appointments~1{id}/get/responses/200/content/application~1json/examples/appointment"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointments~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointments~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointments~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointments~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not Found - Could not find a matching entity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1appointments~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]}},"schemaId":"components/schemas/not-found","exampleIds":["paths/~1appointments~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointments~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointments~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointments~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointments~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1appointments~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_7","exampleIds":["paths/~1appointments~1{id}/get/responses/200/content/application~1json/examples/appointment"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_7","exampleIds":["paths/~1appointments~1{id}/get/responses/200/content/application~1json/examples/appointment"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointments~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointments~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointments~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointments~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/not-found","exampleIds":["paths/~1appointments~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1appointments~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointments~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointments~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointments~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointments~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/appointments/get-appointment"}],"panels":[]}]},"httpPath":"/appointments/{id}"},{"label":"Update an appointment","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/appointments/update-appointment","routeSlug":"/docs/versions/2026-01-01/nexgen/appointments/update-appointment","metadata":{"seo":{"title":"Update an appointment","description":"Updates the appointment matching id for the practice identified by X-Practice-Id. Only the fields provided in the request body will be modified; omitted fields remain unchanged.If no appointment exists for that practice and id, the API responds with 404.When reason_id is provided, it must refer to an active appointment reason; otherwise the API responds with 422.When start_time or duration_minutes is provided, the resulting appointment must fall within the practitioner's working hours and must not conflict with any blocked or unavailable periods; otherwise the API responds with 422."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"update-appointment","name":"Update an appointment","isWebhook":false,"pointer":"/paths/~1appointments~1{id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update an appointment","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updates the appointment matching "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for the practice identified by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Only the fields provided in the request body will be modified; omitted fields remain unchanged."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If no appointment exists for that practice and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the API responds with "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"404"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reason_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is provided, it must refer to an active appointment reason; otherwise the API responds with "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"422"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"duration_minutes"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is provided, the resulting appointment must fall within the practitioner's working hours and must not conflict with any blocked or unavailable periods; otherwise the API responds with "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"422"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["appointment:write"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_2","description":"Resource identifier to filter/find.","required":true}],"pointer":"/paths/~1appointments~1{id}/patch/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1appointments~1{id}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/update-appointment-request"}},"schemaId":"components/schemas/update-appointment-request","pointer":"/paths/~1appointments~1{id}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/appointments/{id}","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_2"}],"query":[],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["appointment:write"]}],"requestBody":{"application/json":{"schemaId":"components/schemas/update-appointment-request"}},"responseCodes":["200","400","401","404","422","4XX","5XX"],"pointer":"/appointments/{id}","href":"appointments/update-appointment","openApiOperationId":"update-appointment","summary":"Update an appointment"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"schemaId":"components/schemas/update-appointment-request","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/update-appointment-request"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Successful response containing the updated appointment resource ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_8","exampleIds":["paths/~1appointments~1{id}/patch/responses/200/content/application~1json/examples/appointment"]}},"schemaId":"schema_8","exampleIds":["paths/~1appointments~1{id}/patch/responses/200/content/application~1json/examples/appointment"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointments~1{id}/patch/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointments~1{id}/patch/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointments~1{id}/patch/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointments~1{id}/patch/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not Found - Could not find a matching entity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1appointments~1{id}/patch/responses/404/content/application~1problem+json/examples/notFound"]}},"schemaId":"components/schemas/not-found","exampleIds":["paths/~1appointments~1{id}/patch/responses/404/content/application~1problem+json/examples/notFound"]},{"code":"422","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Validation Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unprocessable-entity","exampleIds":["paths/~1appointments~1{id}/patch/responses/422/content/application~1problem+json/examples/unprocessableEntity"]}},"schemaId":"components/schemas/unprocessable-entity","exampleIds":["paths/~1appointments~1{id}/patch/responses/422/content/application~1problem+json/examples/unprocessableEntity"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointments~1{id}/patch/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointments~1{id}/patch/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointments~1{id}/patch/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointments~1{id}/patch/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1appointments~1{id}/patch/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_8","exampleIds":["paths/~1appointments~1{id}/patch/responses/200/content/application~1json/examples/appointment"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_8","exampleIds":["paths/~1appointments~1{id}/patch/responses/200/content/application~1json/examples/appointment"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointments~1{id}/patch/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointments~1{id}/patch/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointments~1{id}/patch/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointments~1{id}/patch/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/not-found","exampleIds":["paths/~1appointments~1{id}/patch/responses/404/content/application~1problem+json/examples/notFound"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1appointments~1{id}/patch/responses/404/content/application~1problem+json/examples/notFound"]}}},{"code":"422","schemaId":"components/schemas/unprocessable-entity","exampleIds":["paths/~1appointments~1{id}/patch/responses/422/content/application~1problem+json/examples/unprocessableEntity"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unprocessable-entity","exampleIds":["paths/~1appointments~1{id}/patch/responses/422/content/application~1problem+json/examples/unprocessableEntity"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointments~1{id}/patch/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointments~1{id}/patch/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointments~1{id}/patch/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointments~1{id}/patch/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/appointments/update-appointment"}],"panels":[]}]},"httpPath":"/appointments/{id}"},{"label":"Cancel an appointment","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/appointments/cancel-appointment","routeSlug":"/docs/versions/2026-01-01/nexgen/appointments/cancel-appointment","metadata":{"seo":{"title":"Cancel an appointment","description":"Cancels the appointment matching id for the practice identified byX-Practice-Id. The appointment state is set to Cancelled andcancelled_at is recorded."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"cancel-appointment","name":"Cancel an appointment","isWebhook":false,"pointer":"/paths/~1appointments~1{id}~1cancel/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Cancel an appointment","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cancels the appointment matching "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for the practice identified by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The appointment "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"state"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is set to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Cancelled"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"cancelled_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is recorded."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cancellation is only permitted when the appointment is not in a final"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"state. The following states are final and cannot be cancelled:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Completed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Cancelled"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Did not attend"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Arrived"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"In surgery"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only Appointments in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Pending"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Confirmed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" may be cancelled."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If the appointment is already "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Cancelled"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the API responds with "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"422"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If no appointment exists for that practice and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the API responds"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"with "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"404"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". An unknown or inactive "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"cancellation_reason_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" results in"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"422"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["appointment:write"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_2","description":"Resource identifier to filter/find.","required":true}],"pointer":"/paths/~1appointments~1{id}~1cancel/post/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1appointments~1{id}~1cancel/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/cancel-appointment-request"}},"schemaId":"components/schemas/cancel-appointment-request","pointer":"/paths/~1appointments~1{id}~1cancel/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/appointments/{id}/cancel","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_2"}],"query":[],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["appointment:write"]}],"requestBody":{"application/json":{"schemaId":"components/schemas/cancel-appointment-request"}},"responseCodes":["204","400","401","404","422","4XX","5XX"],"pointer":"/appointments/{id}/cancel","href":"appointments/cancel-appointment","openApiOperationId":"cancel-appointment","summary":"Cancel an appointment"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"schemaId":"components/schemas/cancel-appointment-request","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/cancel-appointment-request"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Appointment successfully cancelled."},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointments~1{id}~1cancel/post/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointments~1{id}~1cancel/post/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointments~1{id}~1cancel/post/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointments~1{id}~1cancel/post/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not Found - Could not find a matching entity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1appointments~1{id}~1cancel/post/responses/404/content/application~1problem+json/examples/notFound"]}},"schemaId":"components/schemas/not-found","exampleIds":["paths/~1appointments~1{id}~1cancel/post/responses/404/content/application~1problem+json/examples/notFound"]},{"code":"422","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Validation Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unprocessable-entity","exampleIds":["paths/~1appointments~1{id}~1cancel/post/responses/422/content/application~1problem+json/examples/unprocessableEntity"]}},"schemaId":"components/schemas/unprocessable-entity","exampleIds":["paths/~1appointments~1{id}~1cancel/post/responses/422/content/application~1problem+json/examples/unprocessableEntity"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointments~1{id}~1cancel/post/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointments~1{id}~1cancel/post/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointments~1{id}~1cancel/post/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointments~1{id}~1cancel/post/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1appointments~1{id}~1cancel/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"204"},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointments~1{id}~1cancel/post/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointments~1{id}~1cancel/post/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointments~1{id}~1cancel/post/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointments~1{id}~1cancel/post/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/not-found","exampleIds":["paths/~1appointments~1{id}~1cancel/post/responses/404/content/application~1problem+json/examples/notFound"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1appointments~1{id}~1cancel/post/responses/404/content/application~1problem+json/examples/notFound"]}}},{"code":"422","schemaId":"components/schemas/unprocessable-entity","exampleIds":["paths/~1appointments~1{id}~1cancel/post/responses/422/content/application~1problem+json/examples/unprocessableEntity"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unprocessable-entity","exampleIds":["paths/~1appointments~1{id}~1cancel/post/responses/422/content/application~1problem+json/examples/unprocessableEntity"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointments~1{id}~1cancel/post/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointments~1{id}~1cancel/post/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointments~1{id}~1cancel/post/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointments~1{id}~1cancel/post/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/appointments/cancel-appointment"}],"panels":[]}]},"httpPath":"/appointments/{id}/cancel"}],"content":{"contentType":"group","meta":{"name":"Appointments"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Appointments","showPageActions":true},{"nodeType":"markdoc","content":"Book, reschedule, and cancel patient appointments. List and retrieve appointment details, including patient, practitioner, site, and reason information."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/appointments","summary":"List appointments","prefix":{"name":"get","color":"get"},"badges":[],"link":"/appointments/list-appointments","deprecated":false},{"title":"/appointments","summary":"Create an appointment","prefix":{"name":"post","color":"post"},"badges":[],"link":"/appointments/create-appointment","deprecated":false},{"title":"/appointments/{id}","summary":"Get appointment by ID","prefix":{"name":"get","color":"get"},"badges":[],"link":"/appointments/get-appointment","deprecated":false},{"title":"/appointments/{id}","summary":"Update an appointment","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/appointments/update-appointment","deprecated":false},{"title":"/appointments/{id}/cancel","summary":"Cancel an appointment","prefix":{"name":"post","color":"post"},"badges":[],"link":"/appointments/cancel-appointment","deprecated":false}]}]}]}]}},{"type":"group","label":"Appointment Reasons","link":"/docs/versions/2026-01-01/nexgen/appointment-reasons","routeSlug":"/docs/versions/2026-01-01/nexgen/appointment-reasons","items":[{"label":"List appointment reasons","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/appointment-reasons/list-appointment-reasons","routeSlug":"/docs/versions/2026-01-01/nexgen/appointment-reasons/list-appointment-reasons","metadata":{"seo":{"title":"List appointment reasons","description":"Returns a paginated list of appointment reasons for the practice identified byX-Practice-Id. Results are ordered by creation time, latest first(created_at descending), then by id descending for a stable sort."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list-appointment-reasons","name":"List appointment reasons","isWebhook":false,"pointer":"/paths/~1appointment_reasons/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List appointment reasons","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"paginated"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" list of appointment reasons for the practice identified by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Results are ordered by "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"creation time"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", latest first"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" descending), then by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" descending for a stable sort."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional query parameter "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_active"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", restricts results to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"appointment reasons that are currently active. When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", restricts results to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"appointment reasons that are currently inactive. When omitted, all appointment"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"reasons are returned."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["appointment:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_0","description":"Maximum number of records to return per page."},{"name":"cursor","in":"query","schemaId":"schema_1","description":"Cursor reference to the next page of records."},{"name":"is_active","in":"query","schemaId":"schema_9","description":[{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", only records with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"active: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are returned."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", only records with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"active: false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are returned."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When omitted, all records are returned."},"children":[]}]}]}]}]},{"name":"created_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"created_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]},{"name":"updated_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"updated_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}],"pointer":"/paths/~1appointment_reasons/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1appointment_reasons/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/appointment_reasons","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","required":false,"schemaId":"schema_0"},{"name":"cursor","in":"query","required":false,"schemaId":"schema_1"},{"name":"is_active","in":"query","required":false,"example":true,"schemaId":"schema_9"},{"name":"created_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"created_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"}],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["appointment:read"]}],"responseCodes":["200","400","401","4XX","5XX"],"pointer":"/appointment_reasons","href":"appointment-reasons/list-appointment-reasons","openApiOperationId":"list-appointment-reasons","summary":"List appointment reasons"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The list of appointment reasons.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_10","exampleIds":["paths/~1appointment_reasons/get/responses/200/content/application~1json/examples/firstPage"]}},"schemaId":"schema_10","exampleIds":["paths/~1appointment_reasons/get/responses/200/content/application~1json/examples/firstPage"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointment_reasons/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointment_reasons/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointment_reasons/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointment_reasons/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointment_reasons/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointment_reasons/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointment_reasons/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointment_reasons/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1appointment_reasons/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_10","exampleIds":["paths/~1appointment_reasons/get/responses/200/content/application~1json/examples/firstPage"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_10","exampleIds":["paths/~1appointment_reasons/get/responses/200/content/application~1json/examples/firstPage"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointment_reasons/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointment_reasons/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointment_reasons/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointment_reasons/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointment_reasons/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointment_reasons/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointment_reasons/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointment_reasons/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/appointment-reasons/list-appointment-reasons"}],"panels":[]}]},"httpPath":"/appointment_reasons"},{"label":"List appointment cancellation reasons","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/appointment-reasons/list-appointment-cancellation-reasons","routeSlug":"/docs/versions/2026-01-01/nexgen/appointment-reasons/list-appointment-cancellation-reasons","metadata":{"seo":{"title":"List appointment cancellation reasons","description":"Returns a paginated list of appointment cancellation reasons for the practiceidentified by X-Practice-Id. Results are ordered by creation time, latestfirst (created_at descending), then by id descending for a stable sort."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list-appointment-cancellation-reasons","name":"List appointment cancellation reasons","isWebhook":false,"pointer":"/paths/~1appointment_cancellation_reasons/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List appointment cancellation reasons","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"paginated"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" list of appointment cancellation reasons for the practice"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"identified by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Results are ordered by "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"creation time"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", latest"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"first ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" descending), then by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" descending for a stable sort."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["appointment:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_0","description":"Maximum number of records to return per page."},{"name":"cursor","in":"query","schemaId":"schema_1","description":"Cursor reference to the next page of records."},{"name":"is_active","in":"query","schemaId":"schema_9","description":[{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", only records with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"active: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are returned."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", only records with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"active: false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are returned."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When omitted, all records are returned."},"children":[]}]}]}]}]},{"name":"created_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"created_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]},{"name":"updated_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"updated_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}],"pointer":"/paths/~1appointment_cancellation_reasons/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1appointment_cancellation_reasons/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/appointment_cancellation_reasons","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","required":false,"schemaId":"schema_0"},{"name":"cursor","in":"query","required":false,"schemaId":"schema_1"},{"name":"is_active","in":"query","required":false,"example":true,"schemaId":"schema_9"},{"name":"created_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"created_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"}],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["appointment:read"]}],"responseCodes":["200","400","401","4XX","5XX"],"pointer":"/appointment_cancellation_reasons","href":"appointment-reasons/list-appointment-cancellation-reasons","openApiOperationId":"list-appointment-cancellation-reasons","summary":"List appointment cancellation reasons"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The list of appointment cancellation reasons.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_11","exampleIds":["paths/~1appointment_cancellation_reasons/get/responses/200/content/application~1json/examples/firstPage"]}},"schemaId":"schema_11","exampleIds":["paths/~1appointment_cancellation_reasons/get/responses/200/content/application~1json/examples/firstPage"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointment_cancellation_reasons/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointment_cancellation_reasons/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointment_cancellation_reasons/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointment_cancellation_reasons/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointment_cancellation_reasons/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointment_cancellation_reasons/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointment_cancellation_reasons/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointment_cancellation_reasons/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1appointment_cancellation_reasons/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_11","exampleIds":["paths/~1appointment_cancellation_reasons/get/responses/200/content/application~1json/examples/firstPage"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_11","exampleIds":["paths/~1appointment_cancellation_reasons/get/responses/200/content/application~1json/examples/firstPage"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointment_cancellation_reasons/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1appointment_cancellation_reasons/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointment_cancellation_reasons/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1appointment_cancellation_reasons/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointment_cancellation_reasons/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1appointment_cancellation_reasons/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointment_cancellation_reasons/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1appointment_cancellation_reasons/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/appointment-reasons/list-appointment-cancellation-reasons"}],"panels":[]}]},"httpPath":"/appointment_cancellation_reasons"}],"content":{"contentType":"group","meta":{"name":"Appointment Reasons"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Appointment Reasons","showPageActions":true},{"nodeType":"markdoc","content":"Reasons that describe the purpose of a patient visit (for example an examination or a scale and polish). List and retrieve the catalogue of reasons configured for a practice."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/appointment_reasons","summary":"List appointment reasons","prefix":{"name":"get","color":"get"},"badges":[],"link":"/appointment-reasons/list-appointment-reasons","deprecated":false},{"title":"/appointment_cancellation_reasons","summary":"List appointment cancellation reasons","prefix":{"name":"get","color":"get"},"badges":[],"link":"/appointment-reasons/list-appointment-cancellation-reasons","deprecated":false}]}]}]}]}},{"type":"group","label":"Calendar Zones","link":"/docs/versions/2026-01-01/nexgen/calendar-zones","routeSlug":"/docs/versions/2026-01-01/nexgen/calendar-zones","items":[{"label":"List calendar zones","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/calendar-zones/list-calendar-zones","routeSlug":"/docs/versions/2026-01-01/nexgen/calendar-zones/list-calendar-zones","metadata":{"seo":{"title":"List calendar zones","description":"Returns a paginated list of calendar zones for the practice identified byX-Practice-Id. A calendar zone is one occurrence of a scheduled, recurringblock of diary time reserved for a specific purpose, for a practitioner or aroom."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list-calendar-zones","name":"List calendar zones","isWebhook":false,"pointer":"/paths/~1calendar_zones/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List calendar zones","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of calendar zones for the practice identified by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". A calendar zone is one occurrence of a scheduled, recurring"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"block of diary time reserved for a specific purpose, for a practitioner or a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"room."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Required query parameters:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (inclusive,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Calendar zones that overlap the window are returned: a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"calendar zone is included when it starts on or before the end of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and finishes on or after the start of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Past and future dates"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"are accepted. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" must be on or after "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and the window must"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"not exceed "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"90 days"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; otherwise the API responds with "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"422"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"practitioner_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is supplied, only calendar zones scheduled for that"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practitioner are returned. A "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"practitioner_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" that is not a valid UUID"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"results in "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"422"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Results are ordered by start time and ID, earliest first ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_time"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ascending, then "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" ascending). Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"meta.cursor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" value"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"from the response to retrieve further pages."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" calendar zones were known as session appointments"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"session_appointments"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") in the previous API version."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["calendar:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_0","description":"Maximum number of records to return per page."},{"name":"cursor","in":"query","schemaId":"schema_1","description":"Cursor reference to the next page of records."},{"name":"date_from","in":"query","schemaId":"schema_12","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of a required date range filter ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Pair with"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Specific range limits and matching rules are defined per"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"endpoint."},"children":[]}]}]}],"required":true},{"name":"date_to","in":"query","schemaId":"schema_13","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of a required date range filter ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Pair with"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Specific range limits and matching rules are defined per"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"endpoint."},"children":[]}]}]}],"required":true},{"name":"practitioner_id","in":"query","schemaId":"schema_2","description":"Filter records to those associated with the specified practitioner. The value should be a UUID corresponding to a practitioner within the practice."},{"name":"created_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"created_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]},{"name":"updated_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"updated_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}],"pointer":"/paths/~1calendar_zones/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1calendar_zones/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/calendar_zones","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","required":false,"schemaId":"schema_0"},{"name":"cursor","in":"query","required":false,"schemaId":"schema_1"},{"name":"date_from","in":"query","required":true,"example":"2025-01-01","schemaId":"schema_12"},{"name":"date_to","in":"query","required":true,"example":"2025-03-31","schemaId":"schema_13"},{"name":"practitioner_id","in":"query","required":false,"schemaId":"schema_2"},{"name":"created_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"created_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"}],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["calendar:read"]}],"responseCodes":["200","400","401","422","4XX","5XX"],"pointer":"/calendar_zones","href":"calendar-zones/list-calendar-zones","openApiOperationId":"list-calendar-zones","summary":"List calendar zones"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of calendar zones for the requested practice.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_14","exampleIds":["paths/~1calendar_zones/get/responses/200/content/application~1json/examples/firstPage"]}},"schemaId":"schema_14","exampleIds":["paths/~1calendar_zones/get/responses/200/content/application~1json/examples/firstPage"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1calendar_zones/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1calendar_zones/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1calendar_zones/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1calendar_zones/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"422","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Validation Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unprocessable-entity","exampleIds":["paths/~1calendar_zones/get/responses/422/content/application~1problem+json/examples/unprocessableEntity"]}},"schemaId":"components/schemas/unprocessable-entity","exampleIds":["paths/~1calendar_zones/get/responses/422/content/application~1problem+json/examples/unprocessableEntity"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1calendar_zones/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1calendar_zones/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1calendar_zones/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1calendar_zones/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1calendar_zones/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_14","exampleIds":["paths/~1calendar_zones/get/responses/200/content/application~1json/examples/firstPage"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_14","exampleIds":["paths/~1calendar_zones/get/responses/200/content/application~1json/examples/firstPage"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1calendar_zones/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1calendar_zones/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1calendar_zones/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1calendar_zones/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"422","schemaId":"components/schemas/unprocessable-entity","exampleIds":["paths/~1calendar_zones/get/responses/422/content/application~1problem+json/examples/unprocessableEntity"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unprocessable-entity","exampleIds":["paths/~1calendar_zones/get/responses/422/content/application~1problem+json/examples/unprocessableEntity"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1calendar_zones/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1calendar_zones/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1calendar_zones/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1calendar_zones/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/calendar-zones/list-calendar-zones"}],"panels":[]}]},"httpPath":"/calendar_zones"},{"label":"Get calendar zone by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/calendar-zones/get-calendar-zone","routeSlug":"/docs/versions/2026-01-01/nexgen/calendar-zones/get-calendar-zone","metadata":{"seo":{"title":"Get calendar zone by ID","description":"Returns the single calendar zone matching id for the practice identifiedby X-Practice-Id. The identifier is the same id returned when listingcalendar zones."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get-calendar-zone","name":"Get calendar zone by ID","isWebhook":false,"pointer":"/paths/~1calendar_zones~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get calendar zone by ID","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the single calendar zone matching "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for the practice identified"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The identifier is the same "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" returned when listing"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"calendar zones."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If no calendar zone exists for that practice and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the API responds"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"with 404."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" calendar zones were known as session appointments"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"session_appointments"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") in the previous API version."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["calendar:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_2","description":"Resource identifier to filter/find.","required":true}],"pointer":"/paths/~1calendar_zones~1{id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1calendar_zones~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/calendar_zones/{id}","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_2"}],"query":[],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["calendar:read"]}],"responseCodes":["200","400","401","404","4XX","5XX"],"pointer":"/calendar_zones/{id}","href":"calendar-zones/get-calendar-zone","openApiOperationId":"get-calendar-zone","summary":"Get calendar zone by ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Full details for one calendar zone.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_15","exampleIds":["paths/~1calendar_zones~1{id}/get/responses/200/content/application~1json/examples/calendarZone"]}},"schemaId":"schema_15","exampleIds":["paths/~1calendar_zones~1{id}/get/responses/200/content/application~1json/examples/calendarZone"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1calendar_zones~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1calendar_zones~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1calendar_zones~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1calendar_zones~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not Found - Could not find a matching entity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1calendar_zones~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]}},"schemaId":"components/schemas/not-found","exampleIds":["paths/~1calendar_zones~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1calendar_zones~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1calendar_zones~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1calendar_zones~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1calendar_zones~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1calendar_zones~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_15","exampleIds":["paths/~1calendar_zones~1{id}/get/responses/200/content/application~1json/examples/calendarZone"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_15","exampleIds":["paths/~1calendar_zones~1{id}/get/responses/200/content/application~1json/examples/calendarZone"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1calendar_zones~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1calendar_zones~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1calendar_zones~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1calendar_zones~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/not-found","exampleIds":["paths/~1calendar_zones~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1calendar_zones~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1calendar_zones~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1calendar_zones~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1calendar_zones~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1calendar_zones~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/calendar-zones/get-calendar-zone"}],"panels":[]}]},"httpPath":"/calendar_zones/{id}"}],"content":{"contentType":"group","meta":{"name":"Calendar Zones"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Calendar Zones","showPageActions":true},{"nodeType":"markdoc","content":"Scheduled, recurring blocks of diary time reserved for a specific purpose, for a practitioner or a room. List and retrieve calendar zone occurrences, including their practitioner, room, and zone group."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/calendar_zones","summary":"List calendar zones","prefix":{"name":"get","color":"get"},"badges":[],"link":"/calendar-zones/list-calendar-zones","deprecated":false},{"title":"/calendar_zones/{id}","summary":"Get calendar zone by ID","prefix":{"name":"get","color":"get"},"badges":[],"link":"/calendar-zones/get-calendar-zone","deprecated":false}]}]}]}]}},{"type":"separator","label":"Patients","content":null},{"type":"group","label":"Patients","link":"/docs/versions/2026-01-01/nexgen/patients","routeSlug":"/docs/versions/2026-01-01/nexgen/patients","items":[{"label":"List patients","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/patients/list-patients","routeSlug":"/docs/versions/2026-01-01/nexgen/patients/list-patients","metadata":{"seo":{"title":"List patients","description":"Returns a paginated list of patients for a practice."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list-patients","name":"List patients","isWebhook":false,"pointer":"/paths/~1patients/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List patients","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns a paginated list of patients for a practice.\n\nOptional query parameters allow filtering results by site, as well as create\nand update date ranges.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["patient:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_0","description":"Maximum number of records to return per page."},{"name":"cursor","in":"query","schemaId":"schema_1","description":"Cursor reference to the next page of records."},{"name":"site_id","in":"query","schemaId":"schema_2","description":"Filter records to those occurring at the specified site. The value should be a UUID corresponding to a site within the practice."},{"name":"created_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"created_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]},{"name":"updated_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"updated_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}],"pointer":"/paths/~1patients/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1patients/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/patients","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","required":false,"schemaId":"schema_0"},{"name":"cursor","in":"query","required":false,"schemaId":"schema_1"},{"name":"site_id","in":"query","required":false,"schemaId":"schema_2"},{"name":"created_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"created_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"}],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["patient:read"]}],"responseCodes":["200","400","401","4XX","5XX"],"pointer":"/patients","href":"patients/list-patients","openApiOperationId":"list-patients","summary":"List patients"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of patients for the requested practice, ordered by creation time (latest first) and then by ID for a stable sort.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_16"}},"schemaId":"schema_16"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1patients/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1patients/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1patients/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1patients/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1patients/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1patients/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1patients/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1patients/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1patients/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_16","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_16"}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1patients/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1patients/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1patients/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1patients/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1patients/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1patients/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1patients/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1patients/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/patients/list-patients"}],"panels":[]}]},"httpPath":"/patients"},{"label":"Create a new patient","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/patients/create-patient","routeSlug":"/docs/versions/2026-01-01/nexgen/patients/create-patient","metadata":{"seo":{"title":"Create a new patient","description":"Creates a new patient record for a practice. Writable fields mirror the patient resource returned by list and get where applicable."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"create-patient","name":"Create a new patient","isWebhook":false,"pointer":"/paths/~1patients/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a new patient","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Creates a new patient record for a practice. Writable fields mirror the patient\nresource returned by list and get where applicable.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["patient:write"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1patients/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/create-patient-request"}},"schemaId":"components/schemas/create-patient-request","pointer":"/paths/~1patients/post/requestBody","description":"Patient object that needs to be added to the practice."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/patients","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["patient:write"]}],"requestBody":{"application/json":{"schemaId":"components/schemas/create-patient-request"}},"responseCodes":["201","400","401","4XX","5XX"],"pointer":"/patients","href":"patients/create-patient","openApiOperationId":"create-patient","summary":"Create a new patient"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"schemaId":"components/schemas/create-patient-request","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/create-patient-request"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Response after creating a patient ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"201 Created"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). The body contains the new patient resource as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_17","exampleIds":["paths/~1patients/post/responses/201/content/application~1json/examples/patient"]}},"schemaId":"schema_17","exampleIds":["paths/~1patients/post/responses/201/content/application~1json/examples/patient"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1patients/post/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1patients/post/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1patients/post/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1patients/post/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1patients/post/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1patients/post/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1patients/post/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1patients/post/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1patients/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"schema_17","exampleIds":["paths/~1patients/post/responses/201/content/application~1json/examples/patient"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_17","exampleIds":["paths/~1patients/post/responses/201/content/application~1json/examples/patient"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1patients/post/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1patients/post/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1patients/post/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1patients/post/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1patients/post/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1patients/post/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1patients/post/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1patients/post/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/patients/create-patient"}],"panels":[]}]},"httpPath":"/patients"},{"label":"Search patients","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/patients/search-patients","routeSlug":"/docs/versions/2026-01-01/nexgen/patients/search-patients","metadata":{"seo":{"title":"Search patients","description":"Returns a paginated list of patients for a practice, with optional filters."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"search-patients","name":"Search patients","isWebhook":false,"pointer":"/paths/~1patients~1search/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Search patients","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of patients for a practice, with optional filters."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"no"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" query filters are provided, all patients for the practice are returned (subject to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"pagination), ordered for keyset paging."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"one or more"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" filters are provided, patients matching "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"any"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" of those filters are included"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(logical "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OR"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Filters combine only with each other under this OR rule."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"family_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is provided, only patients in that family are considered. Any other filters"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"are OR-combined within that family. Behaviour without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"family_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is unchanged."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter semantics:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"family_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — exact UUID match limiting results to patients in that family."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — primary key equality."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"first_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — case-insensitive "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"prefix"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" match on first name."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"last_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — case-insensitive "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"prefix"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" match on last name."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_of_birth"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — exact calendar date match ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"email_address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — case-insensitive "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"prefix"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" match on stored email."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mobile_phone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — match against mobile number (substring match, case-insensitive)."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Response body matches "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /patients"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (same "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" items and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"meta.cursor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" pagination). Visibility of"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"email, address, and phone fields still depends on the token scopes, as for the patient list endpoint."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["patient:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_0","description":"Maximum number of records to return per page."},{"name":"cursor","in":"query","schemaId":"schema_1","description":"Cursor reference to the next page of records."},{"name":"family_id","in":"query","schemaId":"schema_2","description":"Exact family UUID. Other filters are OR-combined within the matching family."},{"name":"id","in":"query","schemaId":"schema_1","description":"Filter by patient id."},{"name":"first_name","in":"query","schemaId":"schema_1","description":"Case-insensitive prefix filter on first name."},{"name":"last_name","in":"query","schemaId":"schema_1","description":"Case-insensitive prefix filter on last name."},{"name":"date_of_birth","in":"query","schemaId":"schema_18","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Exact date of birth ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}]},{"name":"email_address","in":"query","schemaId":"schema_19","description":"Case-insensitive prefix filter on email address."},{"name":"mobile_phone","in":"query","schemaId":"schema_1","description":"Filter using mobile number (substring match)."},{"name":"created_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"created_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]},{"name":"updated_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"updated_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}],"pointer":"/paths/~1patients~1search/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1patients~1search/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/patients/search","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","required":false,"schemaId":"schema_0"},{"name":"cursor","in":"query","required":false,"schemaId":"schema_1"},{"name":"family_id","in":"query","required":false,"schemaId":"schema_2"},{"name":"id","in":"query","required":false,"schemaId":"schema_1"},{"name":"first_name","in":"query","required":false,"schemaId":"schema_1"},{"name":"last_name","in":"query","required":false,"schemaId":"schema_1"},{"name":"date_of_birth","in":"query","required":false,"schemaId":"schema_18"},{"name":"email_address","in":"query","required":false,"schemaId":"schema_19"},{"name":"mobile_phone","in":"query","required":false,"schemaId":"schema_1"},{"name":"created_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"created_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"}],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["patient:read"]}],"responseCodes":["200","400","401","4XX","5XX"],"pointer":"/patients/search","href":"patients/search-patients","openApiOperationId":"search-patients","summary":"Search patients"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of patients for the requested practice, ordered by creation time (latest first) and then by ID for a stable sort.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_16"}},"schemaId":"schema_16"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1patients~1search/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1patients~1search/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1patients~1search/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1patients~1search/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1patients~1search/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1patients~1search/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1patients~1search/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1patients~1search/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1patients~1search/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_16","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_16"}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1patients~1search/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1patients~1search/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1patients~1search/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1patients~1search/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1patients~1search/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1patients~1search/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1patients~1search/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1patients~1search/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/patients/search-patients"}],"panels":[]}]},"httpPath":"/patients/search"},{"label":"Get an existing patient","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/patients/get-patient","routeSlug":"/docs/versions/2026-01-01/nexgen/patients/get-patient","metadata":{"seo":{"title":"Get an existing patient","description":"Gets an existing patient record for a practice."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get-patient","name":"Get an existing patient","isWebhook":false,"pointer":"/paths/~1patients~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get an existing patient","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Gets an existing patient record for a practice."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["patient:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_2","description":"Resource identifier to filter/find.","required":true}],"pointer":"/paths/~1patients~1{id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1patients~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/patients/{id}","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_2"}],"query":[],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["patient:read"]}],"responseCodes":["200","400","401","404","4XX","5XX"],"pointer":"/patients/{id}","href":"patients/get-patient","openApiOperationId":"get-patient","summary":"Get an existing patient"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Successful response containing a single patient resource ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") for the requested identifier."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_20","exampleIds":["paths/~1patients~1{id}/get/responses/200/content/application~1json/examples/patient"]}},"schemaId":"schema_20","exampleIds":["paths/~1patients~1{id}/get/responses/200/content/application~1json/examples/patient"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1patients~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1patients~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1patients~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1patients~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not Found - Could not find a matching entity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1patients~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]}},"schemaId":"components/schemas/not-found","exampleIds":["paths/~1patients~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1patients~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1patients~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1patients~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1patients~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1patients~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_20","exampleIds":["paths/~1patients~1{id}/get/responses/200/content/application~1json/examples/patient"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_20","exampleIds":["paths/~1patients~1{id}/get/responses/200/content/application~1json/examples/patient"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1patients~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1patients~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1patients~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1patients~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/not-found","exampleIds":["paths/~1patients~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1patients~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1patients~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1patients~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1patients~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1patients~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/patients/get-patient"}],"panels":[]}]},"httpPath":"/patients/{id}"},{"label":"Update an existing patient","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/patients/update-patient","routeSlug":"/docs/versions/2026-01-01/nexgen/patients/update-patient","metadata":{"seo":{"title":"Update an existing patient","description":"Updates an existing patient record for a practice."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"update-patient","name":"Update an existing patient","isWebhook":false,"pointer":"/paths/~1patients~1{id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update an existing patient","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Updates an existing patient record for a practice."},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["patient:write"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_2","description":"Resource identifier to filter/find.","required":true}],"pointer":"/paths/~1patients~1{id}/patch/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1patients~1{id}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/update-patient-request"}},"schemaId":"components/schemas/update-patient-request","pointer":"/paths/~1patients~1{id}/patch/requestBody","description":"Fields to update on the patient. Omitted members are left unchanged."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/patients/{id}","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_2"}],"query":[],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["patient:write"]}],"requestBody":{"application/json":{"schemaId":"components/schemas/update-patient-request"}},"responseCodes":["200","400","401","404","4XX","5XX"],"pointer":"/patients/{id}","href":"patients/update-patient","openApiOperationId":"update-patient","summary":"Update an existing patient"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"schemaId":"components/schemas/update-patient-request","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/update-patient-request"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Response after updating a patient ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200 OK"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). The body reflects the patient state after the applied changes."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_21","exampleIds":["paths/~1patients~1{id}/patch/responses/200/content/application~1json/examples/patient"]}},"schemaId":"schema_21","exampleIds":["paths/~1patients~1{id}/patch/responses/200/content/application~1json/examples/patient"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1patients~1{id}/patch/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1patients~1{id}/patch/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1patients~1{id}/patch/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1patients~1{id}/patch/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not Found - Could not find a matching entity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1patients~1{id}/patch/responses/404/content/application~1problem+json/examples/notFound"]}},"schemaId":"components/schemas/not-found","exampleIds":["paths/~1patients~1{id}/patch/responses/404/content/application~1problem+json/examples/notFound"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1patients~1{id}/patch/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1patients~1{id}/patch/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1patients~1{id}/patch/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1patients~1{id}/patch/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1patients~1{id}/patch/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_21","exampleIds":["paths/~1patients~1{id}/patch/responses/200/content/application~1json/examples/patient"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_21","exampleIds":["paths/~1patients~1{id}/patch/responses/200/content/application~1json/examples/patient"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1patients~1{id}/patch/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1patients~1{id}/patch/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1patients~1{id}/patch/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1patients~1{id}/patch/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/not-found","exampleIds":["paths/~1patients~1{id}/patch/responses/404/content/application~1problem+json/examples/notFound"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1patients~1{id}/patch/responses/404/content/application~1problem+json/examples/notFound"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1patients~1{id}/patch/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1patients~1{id}/patch/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1patients~1{id}/patch/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1patients~1{id}/patch/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/patients/update-patient"}],"panels":[]}]},"httpPath":"/patients/{id}"},{"label":"Get patient account balance","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/patients/get-patient-account","routeSlug":"/docs/versions/2026-01-01/nexgen/patients/get-patient-account","metadata":{"seo":{"title":"Get patient account balance","description":"Returns the account balance for the patient matching id, for the practice identified by X-Practice-Id. The balance is the account the patient's invoices and payments are posted to. The id is the same patient id returned when listing patients.Monetary amounts are signed. A negative amount means money is owed to the practice. A positive amount means the account is in credit.Some patients share an account, so owning_patient_id in the response is the patient who owns the account. When it differs from the id in the request path, the patient you asked for shares the account of the returned owning_patient_id, and the balances are those of that shared account.If the patient does not exist, has been deleted, or has no account, the API responds with 404. The three cases cannot be told apart. A token without the account:read scope receives 403."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get-patient-account","name":"Get patient account balance","isWebhook":false,"pointer":"/paths/~1patients~1{id}~1account/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get patient account balance","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the account balance for the patient matching "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", for the practice identified by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The balance is the account the patient's invoices and payments are posted to. The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is the same patient "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" returned when listing patients."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Monetary amounts are signed. A negative amount means money is owed to the practice. A positive amount means the account is in credit."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Some patients share an account, so "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"owning_patient_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in the response is the patient who owns the account. When it differs from the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in the request path, the patient you asked for shares the account of the returned "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"owning_patient_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and the balances are those of that shared account."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If the patient does not exist, has been deleted, or has no account, the API responds with 404. The three cases cannot be told apart. A token without the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"account:read"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" scope receives 403."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["account:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_2","description":"Resource identifier to filter/find.","required":true}],"pointer":"/paths/~1patients~1{id}~1account/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1patients~1{id}~1account/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/patients/{id}/account","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_2"}],"query":[],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["account:read"]}],"responseCodes":["200","400","401","404","4XX","5XX"],"pointer":"/patients/{id}/account","href":"patients/get-patient-account","openApiOperationId":"get-patient-account","summary":"Get patient account balance"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Account balance for the requested patient.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_22","exampleIds":["paths/~1patients~1{id}~1account/get/responses/200/content/application~1json/examples/patientAccount"]}},"schemaId":"schema_22","exampleIds":["paths/~1patients~1{id}~1account/get/responses/200/content/application~1json/examples/patientAccount"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1patients~1{id}~1account/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1patients~1{id}~1account/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1patients~1{id}~1account/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1patients~1{id}~1account/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not Found - Could not find a matching entity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1patients~1{id}~1account/get/responses/404/content/application~1problem+json/examples/notFound"]}},"schemaId":"components/schemas/not-found","exampleIds":["paths/~1patients~1{id}~1account/get/responses/404/content/application~1problem+json/examples/notFound"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1patients~1{id}~1account/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1patients~1{id}~1account/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1patients~1{id}~1account/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1patients~1{id}~1account/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1patients~1{id}~1account/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_22","exampleIds":["paths/~1patients~1{id}~1account/get/responses/200/content/application~1json/examples/patientAccount"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_22","exampleIds":["paths/~1patients~1{id}~1account/get/responses/200/content/application~1json/examples/patientAccount"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1patients~1{id}~1account/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1patients~1{id}~1account/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1patients~1{id}~1account/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1patients~1{id}~1account/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/not-found","exampleIds":["paths/~1patients~1{id}~1account/get/responses/404/content/application~1problem+json/examples/notFound"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1patients~1{id}~1account/get/responses/404/content/application~1problem+json/examples/notFound"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1patients~1{id}~1account/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1patients~1{id}~1account/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1patients~1{id}~1account/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1patients~1{id}~1account/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/patients/get-patient-account"}],"panels":[]}]},"httpPath":"/patients/{id}/account"}],"content":{"contentType":"group","meta":{"name":"Patients"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Patients","showPageActions":true},{"nodeType":"markdoc","content":"Core patient demographic operations."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/patients","summary":"List patients","prefix":{"name":"get","color":"get"},"badges":[],"link":"/patients/list-patients","deprecated":false},{"title":"/patients","summary":"Create a new patient","prefix":{"name":"post","color":"post"},"badges":[],"link":"/patients/create-patient","deprecated":false},{"title":"/patients/search","summary":"Search patients","prefix":{"name":"get","color":"get"},"badges":[],"link":"/patients/search-patients","deprecated":false},{"title":"/patients/{id}","summary":"Get an existing patient","prefix":{"name":"get","color":"get"},"badges":[],"link":"/patients/get-patient","deprecated":false},{"title":"/patients/{id}","summary":"Update an existing patient","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/patients/update-patient","deprecated":false},{"title":"/patients/{id}/account","summary":"Get patient account balance","prefix":{"name":"get","color":"get"},"badges":[],"link":"/patients/get-patient-account","deprecated":false}]}]}]}]}},{"type":"separator","label":"Practitioners","content":null},{"type":"group","label":"Practitioners","link":"/docs/versions/2026-01-01/nexgen/practitioners","routeSlug":"/docs/versions/2026-01-01/nexgen/practitioners","items":[{"label":"List practitioners","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/practitioners/list-practitioners","routeSlug":"/docs/versions/2026-01-01/nexgen/practitioners/list-practitioners","metadata":{"seo":{"title":"List practitioners","description":"Returns a paginated list of practitioners for the practice identified byX-Practice-Id. Results are ordered by creation time, newest first(created_at descending), then by id descending for a stable sort."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list-practitioners","name":"List practitioners","isWebhook":false,"pointer":"/paths/~1practitioners/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List practitioners","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"paginated"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" list of practitioners for the practice identified by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Results are ordered by "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"creation time"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", newest first"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" descending), then by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" descending for a stable sort."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional query parameter "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_active"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", restricts results to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practitioners who are currently active. When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", restricts results to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practitioners who are currently inactive. When omitted, all practitioners are returned."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional query parameter "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"site_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" restricts results to practitioners assigned to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the specified site."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"meta.cursor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" value from the response to retrieve further pages."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["practitioner:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_0","description":"Maximum number of records to return per page."},{"name":"cursor","in":"query","schemaId":"schema_1","description":"Cursor reference to the next page of records."},{"name":"is_active","in":"query","schemaId":"schema_9","description":[{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", only records with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"active: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are returned."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", only records with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"active: false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are returned."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When omitted, all records are returned."},"children":[]}]}]}]}]},{"name":"site_id","in":"query","schemaId":"schema_2","description":"Filter records to those occurring at the specified site. The value should be a UUID corresponding to a site within the practice."},{"name":"created_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"created_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]},{"name":"updated_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"updated_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}],"pointer":"/paths/~1practitioners/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1practitioners/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/practitioners","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","required":false,"schemaId":"schema_0"},{"name":"cursor","in":"query","required":false,"schemaId":"schema_1"},{"name":"is_active","in":"query","required":false,"example":true,"schemaId":"schema_9"},{"name":"site_id","in":"query","required":false,"schemaId":"schema_2"},{"name":"created_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"created_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"}],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["practitioner:read"]}],"responseCodes":["200","400","401","4XX","5XX"],"pointer":"/practitioners","href":"practitioners/list-practitioners","openApiOperationId":"list-practitioners","summary":"List practitioners"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of practitioners for the requested practice.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_23","exampleIds":["paths/~1practitioners/get/responses/200/content/application~1json/examples/firstPage"]}},"schemaId":"schema_23","exampleIds":["paths/~1practitioners/get/responses/200/content/application~1json/examples/firstPage"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1practitioners/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1practitioners/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1practitioners/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1practitioners/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1practitioners/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1practitioners/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1practitioners/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1practitioners/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1practitioners/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_23","exampleIds":["paths/~1practitioners/get/responses/200/content/application~1json/examples/firstPage"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_23","exampleIds":["paths/~1practitioners/get/responses/200/content/application~1json/examples/firstPage"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1practitioners/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1practitioners/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1practitioners/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1practitioners/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1practitioners/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1practitioners/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1practitioners/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1practitioners/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/practitioners/list-practitioners"}],"panels":[]}]},"httpPath":"/practitioners"},{"label":"List practitioner availabilities","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/practitioners/list-practitioner-availabilities","routeSlug":"/docs/versions/2026-01-01/nexgen/practitioners/list-practitioner-availabilities","metadata":{"seo":{"title":"List practitioner availabilities","description":"Returns a paginated list of availability slots for one or more practitioners."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list-practitioner-availabilities","name":"List practitioner availabilities","isWebhook":false,"pointer":"/paths/~1practitioners~1availabilities/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List practitioner availabilities","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"paginated"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" list of "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"availability slots"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for one or more practitioners."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Required query parameters:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"practitioner_ids[]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (at least one practitioner UUID)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Date range."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Both "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are inclusive ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Both must be today or in the future, and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" must be on or before"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The span between them must not exceed "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"one week"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; otherwise"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the API responds with "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"422"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"meta.cursor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" value from the response to retrieve further pages."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["practitioner:availability:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_0","description":"Maximum number of records to return per page."},{"name":"cursor","in":"query","schemaId":"schema_1","description":"Cursor reference to the next page of records."},{"name":"date_from","in":"query","schemaId":"schema_12","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of a date range filter ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Pair with"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when an endpoint supports bounded date-range queries. Specific range"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"limits and defaults are defined per endpoint."},"children":[]}]}]}]},{"name":"date_to","in":"query","schemaId":"schema_13","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of a date range filter ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Pair with"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when an endpoint supports bounded date-range queries. Specific range"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"limits and defaults are defined per endpoint."},"children":[]}]}]}]},{"name":"practitioner_ids[]","in":"query","style":"form","explode":true,"schemaId":"schema_24","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"One or more practitioner UUIDs to search for availability. At least one"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"value is required. Repeat the parameter for multiple practitioners"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"practitioner_ids[]=3fa85f64-5717-4562-b3fc-2c963f66afa6"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1practitioners~1availabilities/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1practitioners~1availabilities/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/practitioners/availabilities","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","required":false,"schemaId":"schema_0"},{"name":"cursor","in":"query","required":false,"schemaId":"schema_1"},{"name":"date_from","in":"query","required":false,"example":"2025-01-01","schemaId":"schema_12"},{"name":"date_to","in":"query","required":false,"example":"2025-03-31","schemaId":"schema_13"},{"name":"practitioner_ids[]","in":"query","required":true,"schemaId":"schema_24","style":"form","explode":true}],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["practitioner:availability:read"]}],"responseCodes":["200","400","401","422","4XX","5XX"],"pointer":"/practitioners/availabilities","href":"practitioners/list-practitioner-availabilities","openApiOperationId":"list-practitioner-availabilities","summary":"List practitioner availabilities"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of availability slots for the requested practitioners and date-time range.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_25","exampleIds":["paths/~1practitioners~1availabilities/get/responses/200/content/application~1json/examples/firstPage"]}},"schemaId":"schema_25","exampleIds":["paths/~1practitioners~1availabilities/get/responses/200/content/application~1json/examples/firstPage"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1practitioners~1availabilities/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1practitioners~1availabilities/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1practitioners~1availabilities/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1practitioners~1availabilities/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"422","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Validation Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unprocessable-entity","exampleIds":["paths/~1practitioners~1availabilities/get/responses/422/content/application~1problem+json/examples/unprocessableEntity"]}},"schemaId":"components/schemas/unprocessable-entity","exampleIds":["paths/~1practitioners~1availabilities/get/responses/422/content/application~1problem+json/examples/unprocessableEntity"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1practitioners~1availabilities/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1practitioners~1availabilities/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1practitioners~1availabilities/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1practitioners~1availabilities/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1practitioners~1availabilities/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_25","exampleIds":["paths/~1practitioners~1availabilities/get/responses/200/content/application~1json/examples/firstPage"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_25","exampleIds":["paths/~1practitioners~1availabilities/get/responses/200/content/application~1json/examples/firstPage"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1practitioners~1availabilities/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1practitioners~1availabilities/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1practitioners~1availabilities/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1practitioners~1availabilities/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"422","schemaId":"components/schemas/unprocessable-entity","exampleIds":["paths/~1practitioners~1availabilities/get/responses/422/content/application~1problem+json/examples/unprocessableEntity"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unprocessable-entity","exampleIds":["paths/~1practitioners~1availabilities/get/responses/422/content/application~1problem+json/examples/unprocessableEntity"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1practitioners~1availabilities/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1practitioners~1availabilities/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1practitioners~1availabilities/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1practitioners~1availabilities/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/practitioners/list-practitioner-availabilities"}],"panels":[]}]},"httpPath":"/practitioners/availabilities"},{"label":"Get practitioner by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/practitioners/get-practitioner","routeSlug":"/docs/versions/2026-01-01/nexgen/practitioners/get-practitioner","metadata":{"seo":{"title":"Get practitioner by ID","description":"Returns the single practitioner matching id for the practice identified byX-Practice-Id. The identifier is the same id returned when listing practitioners."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get-practitioner","name":"Get practitioner by ID","isWebhook":false,"pointer":"/paths/~1practitioners~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get practitioner by ID","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"single practitioner"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" matching "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for the practice identified by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The identifier is the same "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" returned when listing practitioners."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If no practitioner exists for that practice and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the API responds with "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"404"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["practitioner:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_2","description":"Resource identifier to filter/find.","required":true}],"pointer":"/paths/~1practitioners~1{id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1practitioners~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/practitioners/{id}","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_2"}],"query":[],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["practitioner:read"]}],"responseCodes":["200","400","401","404","4XX","5XX"],"pointer":"/practitioners/{id}","href":"practitioners/get-practitioner","openApiOperationId":"get-practitioner","summary":"Get practitioner by ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Full details for one practitioner.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_26","exampleIds":["paths/~1practitioners~1{id}/get/responses/200/content/application~1json/examples/practitioner"]}},"schemaId":"schema_26","exampleIds":["paths/~1practitioners~1{id}/get/responses/200/content/application~1json/examples/practitioner"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1practitioners~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1practitioners~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1practitioners~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1practitioners~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not Found - Could not find a matching entity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1practitioners~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]}},"schemaId":"components/schemas/not-found","exampleIds":["paths/~1practitioners~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1practitioners~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1practitioners~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1practitioners~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1practitioners~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1practitioners~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_26","exampleIds":["paths/~1practitioners~1{id}/get/responses/200/content/application~1json/examples/practitioner"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_26","exampleIds":["paths/~1practitioners~1{id}/get/responses/200/content/application~1json/examples/practitioner"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1practitioners~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1practitioners~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1practitioners~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1practitioners~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/not-found","exampleIds":["paths/~1practitioners~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1practitioners~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1practitioners~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1practitioners~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1practitioners~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1practitioners~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/practitioners/get-practitioner"}],"panels":[]}]},"httpPath":"/practitioners/{id}"},{"label":"List rota schedule histories","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/practitioners/list-practitioner-rota-schedule-histories","routeSlug":"/docs/versions/2026-01-01/nexgen/practitioners/list-practitioner-rota-schedule-histories","metadata":{"seo":{"title":"List rota schedule histories","description":"Returns a paginated list of snapshot rota days for the practitioneridentified by id in the path. Each row describes the effective scheduledworking hours and breaks for a single calendar date, as captured from thepractice rota (including overrides that were active when the snapshot was taken)."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list-practitioner-rota-schedule-histories","name":"List rota schedule histories","isWebhook":false,"pointer":"/paths/~1practitioners~1{id}~1rota_schedule_histories/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List rota schedule histories","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"paginated"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" list of "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"snapshot rota days"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for the practitioner"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"identified by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in the path. Each row describes the effective scheduled"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"working hours and breaks for a single calendar date, as captured from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice rota (including overrides that were active when the snapshot was taken)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Results are ordered by "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"calendar date"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", most recent first ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" descending)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Date range."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"required"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" query parameters."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Both ends are inclusive. The span between them must not exceed "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"three months"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":";"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"otherwise the API responds with "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"422"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"meta.cursor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" value from the response to retrieve further pages."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["practitioner:rota_schedule:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_2","description":"Resource identifier to filter/find.","required":true}],"pointer":"/paths/~1practitioners~1{id}~1rota_schedule_histories/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_0","description":"Maximum number of records to return per page."},{"name":"cursor","in":"query","schemaId":"schema_1","description":"Cursor reference to the next page of records."},{"name":"date_from","in":"query","schemaId":"schema_12","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of the date range ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Must be supplied together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The span between "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" must not exceed three months."},"children":[]}]}]}],"required":true},{"name":"date_to","in":"query","schemaId":"schema_13","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of the date range ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Must be supplied together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Must be on or after "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and the span between the two dates must not exceed three months."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1practitioners~1{id}~1rota_schedule_histories/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1practitioners~1{id}~1rota_schedule_histories/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/practitioners/{id}/rota_schedule_histories","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_2"}],"query":[{"name":"limit","in":"query","required":false,"schemaId":"schema_0"},{"name":"cursor","in":"query","required":false,"schemaId":"schema_1"},{"name":"date_from","in":"query","required":true,"example":"2025-01-01","schemaId":"schema_12"},{"name":"date_to","in":"query","required":true,"example":"2025-03-31","schemaId":"schema_13"}],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["practitioner:rota_schedule:read"]}],"responseCodes":["200","400","401","404","422","4XX","5XX"],"pointer":"/practitioners/{id}/rota_schedule_histories","href":"practitioners/list-practitioner-rota-schedule-histories","openApiOperationId":"list-practitioner-rota-schedule-histories","summary":"List rota schedule histories"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of snapshotted rota schedule history rows for the requested practitioner.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_27","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/200/content/application~1json/examples/firstPage"]}},"schemaId":"schema_27","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/200/content/application~1json/examples/firstPage"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not Found - Could not find a matching entity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/404/content/application~1problem+json/examples/notFound"]}},"schemaId":"components/schemas/not-found","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/404/content/application~1problem+json/examples/notFound"]},{"code":"422","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Validation Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unprocessable-entity","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/422/content/application~1problem+json/examples/unprocessableEntity"]}},"schemaId":"components/schemas/unprocessable-entity","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/422/content/application~1problem+json/examples/unprocessableEntity"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_27","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/200/content/application~1json/examples/firstPage"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_27","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/200/content/application~1json/examples/firstPage"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/not-found","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/404/content/application~1problem+json/examples/notFound"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/404/content/application~1problem+json/examples/notFound"]}}},{"code":"422","schemaId":"components/schemas/unprocessable-entity","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/422/content/application~1problem+json/examples/unprocessableEntity"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unprocessable-entity","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/422/content/application~1problem+json/examples/unprocessableEntity"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/practitioners/list-practitioner-rota-schedule-histories"}],"panels":[]}]},"httpPath":"/practitioners/{id}/rota_schedule_histories"}],"content":{"contentType":"group","meta":{"name":"Practitioners"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Practitioners","showPageActions":true},{"nodeType":"markdoc","content":"Practice clinicians and dental care professionals (DCPs). List and retrieve identifiers, linked user, site, role, and NHS number fields for integrations."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/practitioners","summary":"List practitioners","prefix":{"name":"get","color":"get"},"badges":[],"link":"/practitioners/list-practitioners","deprecated":false},{"title":"/practitioners/availabilities","summary":"List practitioner availabilities","prefix":{"name":"get","color":"get"},"badges":[],"link":"/practitioners/list-practitioner-availabilities","deprecated":false},{"title":"/practitioners/{id}","summary":"Get practitioner by ID","prefix":{"name":"get","color":"get"},"badges":[],"link":"/practitioners/get-practitioner","deprecated":false},{"title":"/practitioners/{id}/rota_schedule_histories","summary":"List rota schedule histories","prefix":{"name":"get","color":"get"},"badges":[],"link":"/practitioners/list-practitioner-rota-schedule-histories","deprecated":false}]}]}]}]}},{"type":"separator","label":"Sites","content":null},{"type":"group","label":"Sites","link":"/docs/versions/2026-01-01/nexgen/sites","routeSlug":"/docs/versions/2026-01-01/nexgen/sites","items":[{"label":"List sites","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/sites/list-sites","routeSlug":"/docs/versions/2026-01-01/nexgen/sites/list-sites","metadata":{"seo":{"title":"List sites","description":"Returns a paginated list of all sites for the practice identified byX-Practice-Id. Use this to discover locations where the practice operates,including addresses, contact details, and opening hours."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list-sites","name":"List sites","isWebhook":false,"pointer":"/paths/~1sites/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List sites","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"paginated"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" list of all sites for the practice identified by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Use this to discover locations where the practice operates,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"including addresses, contact details, and opening hours."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Results are ordered by "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"creation time"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", newest first ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_at"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"descending). Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"meta.cursor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" value from the response to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"retrieve further pages."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["site:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_0","description":"Maximum number of records to return per page."},{"name":"cursor","in":"query","schemaId":"schema_1","description":"Cursor reference to the next page of records."},{"name":"created_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"created_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]},{"name":"updated_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"updated_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}],"pointer":"/paths/~1sites/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1sites/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/sites","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","required":false,"schemaId":"schema_0"},{"name":"cursor","in":"query","required":false,"schemaId":"schema_1"},{"name":"created_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"created_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"}],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["site:read"]}],"responseCodes":["200","400","401","4XX","5XX"],"pointer":"/sites","href":"sites/list-sites","openApiOperationId":"list-sites","summary":"List sites"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of sites for the requested practice.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_28","exampleIds":["paths/~1sites/get/responses/200/content/application~1json/examples/firstPage"]}},"schemaId":"schema_28","exampleIds":["paths/~1sites/get/responses/200/content/application~1json/examples/firstPage"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1sites/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1sites/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1sites/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1sites/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1sites/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1sites/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1sites/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1sites/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1sites/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_28","exampleIds":["paths/~1sites/get/responses/200/content/application~1json/examples/firstPage"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_28","exampleIds":["paths/~1sites/get/responses/200/content/application~1json/examples/firstPage"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1sites/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1sites/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1sites/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1sites/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1sites/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1sites/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1sites/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1sites/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sites/list-sites"}],"panels":[]}]},"httpPath":"/sites"},{"label":"Get site by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/sites/get-site","routeSlug":"/docs/versions/2026-01-01/nexgen/sites/get-site","metadata":{"seo":{"title":"Get site by ID","description":"Returns the single site matching id for the practice identified byX-Practice-Id. The identifier is the same id returned when listing sites."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get-site","name":"Get site by ID","isWebhook":false,"pointer":"/paths/~1sites~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get site by ID","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"single site"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" matching "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for the practice identified by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The identifier is the same "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" returned when listing sites."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If no site exists for that practice and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the API responds with "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"404"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["site:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_2","description":"Resource identifier to filter/find.","required":true}],"pointer":"/paths/~1sites~1{id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1sites~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/sites/{id}","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_2"}],"query":[],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["site:read"]}],"responseCodes":["200","400","401","404","4XX","5XX"],"pointer":"/sites/{id}","href":"sites/get-site","openApiOperationId":"get-site","summary":"Get site by ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Full details for one site.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_29","exampleIds":["paths/~1sites~1{id}/get/responses/200/content/application~1json/examples/site"]}},"schemaId":"schema_29","exampleIds":["paths/~1sites~1{id}/get/responses/200/content/application~1json/examples/site"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1sites~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1sites~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1sites~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1sites~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not Found - Could not find a matching entity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1sites~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]}},"schemaId":"components/schemas/not-found","exampleIds":["paths/~1sites~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1sites~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1sites~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1sites~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1sites~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1sites~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_29","exampleIds":["paths/~1sites~1{id}/get/responses/200/content/application~1json/examples/site"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_29","exampleIds":["paths/~1sites~1{id}/get/responses/200/content/application~1json/examples/site"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1sites~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1sites~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1sites~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1sites~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/not-found","exampleIds":["paths/~1sites~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1sites~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1sites~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1sites~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1sites~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1sites~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sites/get-site"}],"panels":[]}]},"httpPath":"/sites/{id}"}],"content":{"contentType":"group","meta":{"name":"Sites"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Sites","showPageActions":true},{"nodeType":"markdoc","content":"Physical locations for a practice (clinics, surgeries, branches). List and retrieve addresses, contact details, and opening hours for partner-facing experiences such as booking and location finders."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/sites","summary":"List sites","prefix":{"name":"get","color":"get"},"badges":[],"link":"/sites/list-sites","deprecated":false},{"title":"/sites/{id}","summary":"Get site by ID","prefix":{"name":"get","color":"get"},"badges":[],"link":"/sites/get-site","deprecated":false}]}]}]}]}},{"type":"separator","label":"Communications","content":null},{"type":"group","label":"Communications","link":"/docs/versions/2026-01-01/nexgen/communications","routeSlug":"/docs/versions/2026-01-01/nexgen/communications","items":[{"label":"Send a message to a patient","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/communications/send-communication","routeSlug":"/docs/versions/2026-01-01/nexgen/communications/send-communication","metadata":{"seo":{"title":"Send a message to a patient","description":"Send a SMS or eMail to a patient on behalf of a practice. No other messaging channels are currently supported for sending communications via the API. Please note, access to this API is provisioned by a Dentally admin."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"send-communication","name":"Send a message to a patient","isWebhook":false,"pointer":"/paths/~1communications/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Send a message to a patient","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Send a SMS or eMail to a patient on behalf of a practice.  \nNo other messaging channels are currently supported for sending communications via the API.  \nPlease note, access to this API is provisioned by a Dentally admin.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["communication:write"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1communications/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/send-communication-request","exampleIds":["paths/~1communications/post/requestBody/content/application~1json/examples/send_sms","paths/~1communications/post/requestBody/content/application~1json/examples/send_email"]}},"schemaId":"components/schemas/send-communication-request","exampleIds":["paths/~1communications/post/requestBody/content/application~1json/examples/send_sms","paths/~1communications/post/requestBody/content/application~1json/examples/send_email"],"pointer":"/paths/~1communications/post/requestBody","description":"Details of the communication to send to a patient."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/communications","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["communication:write"]}],"requestBody":{"application/json":{"schemaId":"components/schemas/send-communication-request","exampleIds":["paths/~1communications/post/requestBody/content/application~1json/examples/send_sms","paths/~1communications/post/requestBody/content/application~1json/examples/send_email"]}},"responseCodes":["202","400","401","4XX","5XX"],"pointer":"/communications","href":"communications/send-communication","openApiOperationId":"send-communication","summary":"Send a message to a patient"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"schemaId":"components/schemas/send-communication-request","exampleIds":["paths/~1communications/post/requestBody/content/application~1json/examples/send_sms","paths/~1communications/post/requestBody/content/application~1json/examples/send_email"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/send-communication-request","exampleIds":["paths/~1communications/post/requestBody/content/application~1json/examples/send_sms","paths/~1communications/post/requestBody/content/application~1json/examples/send_email"]}},"examples":[{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"202","description":"Response after sending a communication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_30"}},"schemaId":"schema_30"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1communications/post/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1communications/post/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1communications/post/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1communications/post/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1communications/post/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1communications/post/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1communications/post/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1communications/post/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1communications/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"202","schemaId":"schema_30","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_30"}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1communications/post/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1communications/post/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1communications/post/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1communications/post/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1communications/post/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1communications/post/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1communications/post/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1communications/post/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/communications/send-communication"}],"panels":[]}]},"httpPath":"/communications"},{"label":"Get response details","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/communications/get-communication-response-details","routeSlug":"/docs/versions/2026-01-01/nexgen/communications/get-communication-response-details","metadata":{"seo":{"title":"Get response details","description":"Returns the details of a single response communication to a communication matching id for the practiceidentified by X-Practice-Id. The identifier is the same id returned whencreating an SMS communication."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get-communication-response-details","name":"Get response details","isWebhook":false,"pointer":"/paths/~1communications~1{id}~1reply/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get response details","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the details of a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"single response communication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to a communication matching "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for the practice"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"identified by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The identifier is the same "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" returned when"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"#operation/send-communication"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"creating an SMS communication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["communication:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_2","description":"Resource identifier to filter/find.","required":true}],"pointer":"/paths/~1communications~1{id}~1reply/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"communication_channel","in":"query","schemaId":"schema_31","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The communication channel to filter by. If not provided, the response will include communications for the SMS channel ONLY."},"children":[]},{"$$mdtype":"Node","type":"hardbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Currently "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ONLY"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" sms is supported. All other channels will return a not supported response."},"children":[]}]}]}]}],"pointer":"/paths/~1communications~1{id}~1reply/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1communications~1{id}~1reply/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/communications/{id}/reply","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_2"}],"query":[{"name":"communication_channel","in":"query","schemaId":"components/schemas/communication-channel"}],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["communication:read"]}],"responseCodes":["200","400","401","4XX","5XX"],"pointer":"/communications/{id}/reply","href":"communications/get-communication-response-details","openApiOperationId":"get-communication-response-details","summary":"Get response details"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"This response schema defines the structure of the response returned when fetching communication details. \nIt includes information about the communication, such as its ID, status, and related replies if there are any found to be mapped to the original communication.\n\nThis response is typically used in scenarios where clients need to retrieve detailed information about a specific communication, such as when viewing \ncommunication history or analyzing communication patterns.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_32"}},"schemaId":"schema_32"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1communications~1{id}~1reply/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1communications~1{id}~1reply/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1communications~1{id}~1reply/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1communications~1{id}~1reply/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1communications~1{id}~1reply/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1communications~1{id}~1reply/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1communications~1{id}~1reply/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1communications~1{id}~1reply/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1communications~1{id}~1reply/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_32","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_32"}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1communications~1{id}~1reply/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1communications~1{id}~1reply/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1communications~1{id}~1reply/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1communications~1{id}~1reply/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1communications~1{id}~1reply/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1communications~1{id}~1reply/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1communications~1{id}~1reply/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1communications~1{id}~1reply/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/communications/get-communication-response-details"}],"panels":[]}]},"httpPath":"/communications/{id}/reply"},{"label":"Create an external communication","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/communications/external-create-communication","routeSlug":"/docs/versions/2026-01-01/nexgen/communications/external-create-communication","metadata":{"seo":{"title":"Create an external communication","description":"Capture an external communication which has occurred with a patient, outside of the Dentally eco-system.This is used to capture messages sent via channels that Dentally does not support.Please note, the Dentally portal has not yet been updated to display this information.Logging an SMS requires the communication:external:sms:write scope instead of communication:external:write.Please note, access to the communication:external:sms:write scope is provisioned by a Dentally admin."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"external-create-communication","name":"Create an external communication","isWebhook":false,"pointer":"/paths/~1external_communications/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create an external communication","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Capture an external communication which has occurred with a patient, outside of the Dentally eco-system."},"children":[]},{"$$mdtype":"Node","type":"hardbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is used to capture messages sent via channels that Dentally does not support."},"children":[]},{"$$mdtype":"Node","type":"hardbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note, the Dentally portal has not yet been updated to display this information."},"children":[]},{"$$mdtype":"Node","type":"hardbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Logging an SMS requires the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"communication:external:sms:write"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" scope instead of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"communication:external:write"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"hardbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note, access to the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"communication:external:sms:write"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" scope is provisioned by a Dentally admin."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["communication:external:write"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]},{"schemes":[{"name":"oauth2","scopes":["communication:external:sms:write"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1external_communications/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/external-communication-request","exampleIds":["paths/~1external_communications/post/requestBody/content/application~1json/examples/log_sms","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_sms_reply","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_email","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_letter_with_text","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_letter_with_link","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_messaging_app","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_phone_call"]}},"schemaId":"components/schemas/external-communication-request","exampleIds":["paths/~1external_communications/post/requestBody/content/application~1json/examples/log_sms","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_sms_reply","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_email","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_letter_with_text","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_letter_with_link","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_messaging_app","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_phone_call"],"pointer":"/paths/~1external_communications/post/requestBody","description":"Details of the communication that was sent to a patient."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/external_communications","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["communication:external:write"]},{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["communication:external:sms:write"]}],"requestBody":{"application/json":{"schemaId":"components/schemas/external-communication-request","exampleIds":["paths/~1external_communications/post/requestBody/content/application~1json/examples/log_sms","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_sms_reply","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_email","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_letter_with_text","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_letter_with_link","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_messaging_app","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_phone_call"]}},"responseCodes":["201","400","401","4XX","5XX"],"pointer":"/external_communications","href":"communications/external-create-communication","openApiOperationId":"external-create-communication","summary":"Create an external communication","securityGroups":[{"oauth2":["communication:external:write"]},{"oauth2":["communication:external:sms:write"]}]},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"schemaId":"components/schemas/external-communication-request","exampleIds":["paths/~1external_communications/post/requestBody/content/application~1json/examples/log_sms","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_sms_reply","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_email","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_letter_with_text","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_letter_with_link","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_messaging_app","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_phone_call"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/external-communication-request","exampleIds":["paths/~1external_communications/post/requestBody/content/application~1json/examples/log_sms","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_sms_reply","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_email","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_letter_with_text","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_letter_with_link","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_messaging_app","paths/~1external_communications/post/requestBody/content/application~1json/examples/log_phone_call"]}},"examples":[{},{},{},{},{},{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Response after creating an external communication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_33"}},"schemaId":"schema_33"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1external_communications/post/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1external_communications/post/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1external_communications/post/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1external_communications/post/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1external_communications/post/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1external_communications/post/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1external_communications/post/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1external_communications/post/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1external_communications/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"schema_33","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_33"}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1external_communications/post/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1external_communications/post/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1external_communications/post/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1external_communications/post/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1external_communications/post/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1external_communications/post/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1external_communications/post/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1external_communications/post/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/communications/external-create-communication"}],"panels":[]}]},"httpPath":"/external_communications"}],"content":{"contentType":"group","meta":{"name":"Communications"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Communications","showPageActions":true},{"nodeType":"markdoc","content":"Send communications to patients on behalf of a practice using a variety of channels."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/communications","summary":"Send a message to a patient","prefix":{"name":"post","color":"post"},"badges":[],"link":"/communications/send-communication","deprecated":false},{"title":"/communications/{id}/reply","summary":"Get response details","prefix":{"name":"get","color":"get"},"badges":[],"link":"/communications/get-communication-response-details","deprecated":false},{"title":"/external_communications","summary":"Create an external communication","prefix":{"name":"post","color":"post"},"badges":[],"link":"/communications/external-create-communication","deprecated":false}]}]}]}]}},{"type":"separator","label":"Finance","content":null},{"type":"group","label":"Fees","link":"/docs/versions/2026-01-01/nexgen/fees","routeSlug":"/docs/versions/2026-01-01/nexgen/fees","items":[{"label":"List fees","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/fees/list-fees","routeSlug":"/docs/versions/2026-01-01/nexgen/fees/list-fees","metadata":{"seo":{"title":"List fees","description":"Returns a paginated list of fees for the practice identified by X-Practice-Id. Results are ordered by creation time, newest first (created_at descending), then by id descending for a stable sort.Optional query parameters allow filtering by payment plan, treatment, and created/updated date ranges.Date range. Optional query parameters created_date_from and created_date_to filter by creation date, while updated_date_from and updated_date_to filter by update date. Both ends are inclusive.Use limit and the meta.cursor value from the response to retrieve further pages."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list-fees","name":"List fees","isWebhook":false,"pointer":"/paths/~1fees/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List fees","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"paginated"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" list of fees for the practice identified by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Results are ordered by "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"creation time"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", newest first ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" descending), then by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" descending for a stable sort."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional query parameters allow filtering by payment plan, treatment, and created/updated date ranges."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Date range."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Optional query parameters "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" filter by creation date, while "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" filter by update date. Both ends are inclusive."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"meta.cursor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" value from the response to retrieve further pages."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["fee:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_0","description":"Maximum number of records to return per page."},{"name":"cursor","in":"query","schemaId":"schema_1","description":"Cursor reference to the next page of records."},{"name":"created_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"created_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]},{"name":"updated_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"updated_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]},{"name":"payment_plan_id","in":"query","schemaId":"schema_2","description":"Filter fees to those associated with the specified fee schedule (payment plan). The value should be a UUID."},{"name":"treatment_id","in":"query","schemaId":"schema_2","description":"Filter fees to those associated with the specified treatment. The value should be a UUID."}],"pointer":"/paths/~1fees/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1fees/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/fees","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","required":false,"schemaId":"schema_0"},{"name":"cursor","in":"query","required":false,"schemaId":"schema_1"},{"name":"created_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"created_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"payment_plan_id","in":"query","required":false,"schemaId":"schema_2"},{"name":"treatment_id","in":"query","required":false,"schemaId":"schema_2"}],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["fee:read"]}],"responseCodes":["200","400","401","4XX","5XX"],"pointer":"/fees","href":"fees/list-fees","openApiOperationId":"list-fees","summary":"List fees"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of fees for the requested practice.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_34","exampleIds":["paths/~1fees/get/responses/200/content/application~1json/examples/firstPage"]}},"schemaId":"schema_34","exampleIds":["paths/~1fees/get/responses/200/content/application~1json/examples/firstPage"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1fees/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1fees/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1fees/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1fees/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1fees/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1fees/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1fees/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1fees/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1fees/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_34","exampleIds":["paths/~1fees/get/responses/200/content/application~1json/examples/firstPage"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_34","exampleIds":["paths/~1fees/get/responses/200/content/application~1json/examples/firstPage"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1fees/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1fees/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1fees/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1fees/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1fees/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1fees/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1fees/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1fees/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/fees/list-fees"}],"panels":[]}]},"httpPath":"/fees"},{"label":"Get fee by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/fees/get-fee","routeSlug":"/docs/versions/2026-01-01/nexgen/fees/get-fee","metadata":{"seo":{"title":"Get fee by ID","description":"Returns the single fee matching id for the practice identified by X-Practice-Id. The identifier is the same id returned when listing fees.If no fee exists for that practice and id, the API responds with 404."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get-fee","name":"Get fee by ID","isWebhook":false,"pointer":"/paths/~1fees~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get fee by ID","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"single fee"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" matching "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for the practice identified by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The identifier is the same "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" returned when listing fees."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If no fee exists for that practice and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the API responds with "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"404"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["fee:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_2","description":"Resource identifier to filter/find.","required":true}],"pointer":"/paths/~1fees~1{id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1fees~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/fees/{id}","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_2"}],"query":[],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["fee:read"]}],"responseCodes":["200","400","401","404","4XX","5XX"],"pointer":"/fees/{id}","href":"fees/get-fee","openApiOperationId":"get-fee","summary":"Get fee by ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Full details for one fee.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_35","exampleIds":["paths/~1fees~1{id}/get/responses/200/content/application~1json/examples/fee"]}},"schemaId":"schema_35","exampleIds":["paths/~1fees~1{id}/get/responses/200/content/application~1json/examples/fee"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1fees~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1fees~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1fees~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1fees~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not Found - Could not find a matching entity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1fees~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]}},"schemaId":"components/schemas/not-found","exampleIds":["paths/~1fees~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1fees~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1fees~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1fees~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1fees~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1fees~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_35","exampleIds":["paths/~1fees~1{id}/get/responses/200/content/application~1json/examples/fee"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_35","exampleIds":["paths/~1fees~1{id}/get/responses/200/content/application~1json/examples/fee"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1fees~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1fees~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1fees~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1fees~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/not-found","exampleIds":["paths/~1fees~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1fees~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1fees~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1fees~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1fees~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1fees~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/fees/get-fee"}],"panels":[]}]},"httpPath":"/fees/{id}"}],"content":{"contentType":"group","meta":{"name":"Fees"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Fees","showPageActions":true},{"nodeType":"markdoc","content":"List and retrieve fees for a practice."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/fees","summary":"List fees","prefix":{"name":"get","color":"get"},"badges":[],"link":"/fees/list-fees","deprecated":false},{"title":"/fees/{id}","summary":"Get fee by ID","prefix":{"name":"get","color":"get"},"badges":[],"link":"/fees/get-fee","deprecated":false}]}]}]}]}},{"type":"group","label":"Fee Schedules","link":"/docs/versions/2026-01-01/nexgen/fee-schedules","routeSlug":"/docs/versions/2026-01-01/nexgen/fee-schedules","items":[{"label":"List fee schedules","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/fee-schedules/list-fee-schedules","routeSlug":"/docs/versions/2026-01-01/nexgen/fee-schedules/list-fee-schedules","metadata":{"seo":{"title":"List fee schedules","description":"Returns a paginated list of fee schedules for the practice identified byX-Practice-Id. Dentally's user interface in the United Kingdom sometimescalls these payment plans."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list-fee-schedules","name":"List fee schedules","isWebhook":false,"pointer":"/paths/~1fee_schedules/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List fee schedules","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of fee schedules for the practice identified by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Dentally's user interface in the United Kingdom sometimes"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"calls these payment plans."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"site_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is supplied, the response includes only schedules assigned"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"to that site. Schedules with a null "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"site_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are not included."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_active"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", results are restricted to active schedules."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", results are restricted to inactive schedules. When omitted,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"all schedules are returned."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Results are ordered by "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"creation time"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and ID, newest first ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_at"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"descending, then "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" descending). Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"meta.cursor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" value"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"from the response to retrieve further pages."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["fee_schedule:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_0","description":"Maximum number of records to return per page."},{"name":"cursor","in":"query","schemaId":"schema_1","description":"Cursor reference to the next page of records."},{"name":"is_active","in":"query","schemaId":"schema_9","description":[{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", only records with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"active: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are returned."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", only records with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"active: false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are returned."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When omitted, all records are returned."},"children":[]}]}]}]}]},{"name":"site_id","in":"query","schemaId":"schema_2","description":"Filter records to those occurring at the specified site. The value should be a UUID corresponding to a site within the practice."}],"pointer":"/paths/~1fee_schedules/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1fee_schedules/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/fee_schedules","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","required":false,"schemaId":"schema_0"},{"name":"cursor","in":"query","required":false,"schemaId":"schema_1"},{"name":"is_active","in":"query","required":false,"example":true,"schemaId":"schema_9"},{"name":"site_id","in":"query","required":false,"schemaId":"schema_2"}],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["fee_schedule:read"]}],"responseCodes":["200","400","401","4XX","5XX"],"pointer":"/fee_schedules","href":"fee-schedules/list-fee-schedules","openApiOperationId":"list-fee-schedules","summary":"List fee schedules"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of fee schedules for the requested practice.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_36","exampleIds":["paths/~1fee_schedules/get/responses/200/content/application~1json/examples/firstPage"]}},"schemaId":"schema_36","exampleIds":["paths/~1fee_schedules/get/responses/200/content/application~1json/examples/firstPage"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1fee_schedules/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1fee_schedules/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1fee_schedules/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1fee_schedules/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1fee_schedules/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1fee_schedules/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1fee_schedules/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1fee_schedules/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1fee_schedules/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_36","exampleIds":["paths/~1fee_schedules/get/responses/200/content/application~1json/examples/firstPage"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_36","exampleIds":["paths/~1fee_schedules/get/responses/200/content/application~1json/examples/firstPage"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1fee_schedules/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1fee_schedules/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1fee_schedules/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1fee_schedules/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1fee_schedules/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1fee_schedules/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1fee_schedules/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1fee_schedules/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/fee-schedules/list-fee-schedules"}],"panels":[]}]},"httpPath":"/fee_schedules"},{"label":"Get fee schedule by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/fee-schedules/get-fee-schedule","routeSlug":"/docs/versions/2026-01-01/nexgen/fee-schedules/get-fee-schedule","metadata":{"seo":{"title":"Get fee schedule by ID","description":"Returns the single fee schedule matching id for the practice identified byX-Practice-Id. Dentally's user interface in the United Kingdom sometimescalls this a payment plan. The identifier is the same id returned whenlisting fee schedules."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get-fee-schedule","name":"Get fee schedule by ID","isWebhook":false,"pointer":"/paths/~1fee_schedules~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get fee schedule by ID","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the single fee schedule matching "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for the practice identified by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Dentally's user interface in the United Kingdom sometimes"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"calls this a payment plan. The identifier is the same "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" returned when"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"listing fee schedules."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If no fee schedule exists for that practice and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the API responds with"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"404."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["fee_schedule:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_2","description":"Resource identifier to filter/find.","required":true}],"pointer":"/paths/~1fee_schedules~1{id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1fee_schedules~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/fee_schedules/{id}","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_2"}],"query":[],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["fee_schedule:read"]}],"responseCodes":["200","400","401","404","4XX","5XX"],"pointer":"/fee_schedules/{id}","href":"fee-schedules/get-fee-schedule","openApiOperationId":"get-fee-schedule","summary":"Get fee schedule by ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Full details for one fee schedule.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_37","exampleIds":["paths/~1fee_schedules~1{id}/get/responses/200/content/application~1json/examples/feeSchedule"]}},"schemaId":"schema_37","exampleIds":["paths/~1fee_schedules~1{id}/get/responses/200/content/application~1json/examples/feeSchedule"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1fee_schedules~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1fee_schedules~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1fee_schedules~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1fee_schedules~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not Found - Could not find a matching entity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1fee_schedules~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]}},"schemaId":"components/schemas/not-found","exampleIds":["paths/~1fee_schedules~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1fee_schedules~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1fee_schedules~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1fee_schedules~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1fee_schedules~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1fee_schedules~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_37","exampleIds":["paths/~1fee_schedules~1{id}/get/responses/200/content/application~1json/examples/feeSchedule"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_37","exampleIds":["paths/~1fee_schedules~1{id}/get/responses/200/content/application~1json/examples/feeSchedule"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1fee_schedules~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1fee_schedules~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1fee_schedules~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1fee_schedules~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/not-found","exampleIds":["paths/~1fee_schedules~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1fee_schedules~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1fee_schedules~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1fee_schedules~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1fee_schedules~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1fee_schedules~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/fee-schedules/get-fee-schedule"}],"panels":[]}]},"httpPath":"/fee_schedules/{id}"}],"content":{"contentType":"group","meta":{"name":"Fee Schedules"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Fee Schedules","showPageActions":true},{"nodeType":"markdoc","content":"Practice-defined pricing and care categories assigned to patients. List and retrieve fee schedule details, including funding, default appointment lengths, new-patient recall defaults, and optional membership pricing. Dentally's user interface in the United Kingdom sometimes calls these payment plans."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/fee_schedules","summary":"List fee schedules","prefix":{"name":"get","color":"get"},"badges":[],"link":"/fee-schedules/list-fee-schedules","deprecated":false},{"title":"/fee_schedules/{id}","summary":"Get fee schedule by ID","prefix":{"name":"get","color":"get"},"badges":[],"link":"/fee-schedules/get-fee-schedule","deprecated":false}]}]}]}]}},{"type":"group","label":"Invoices","link":"/docs/versions/2026-01-01/nexgen/invoices","routeSlug":"/docs/versions/2026-01-01/nexgen/invoices","items":[{"label":"List invoices","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/invoices/list-invoices","routeSlug":"/docs/versions/2026-01-01/nexgen/invoices/list-invoices","metadata":{"seo":{"title":"List invoices","description":"Returns a paginated list of invoices for the practice identified byX-Practice-Id. Results are ordered by creation time, most recent created first(created_at descending), then by id descending for a stable sort."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list-invoices","name":"List invoices","isWebhook":false,"pointer":"/paths/~1invoices/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List invoices","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"paginated"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" list of invoices for the practice identified by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Results are ordered by "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"creation time"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", most recent created first"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" descending), then by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" descending for a stable sort."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional query parameters allow filtering results by patient, site,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"create and update date ranges, and if the invoice has been paid."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_paid"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", results are restricted to invoices that have been paid."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", results are restricted to invoices that have not been paid."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When omitted, all invoices are returned."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Date range."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Optional query parameters "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" filter by creation date,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"while "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" filter by update date. Both ends are inclusive."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"meta.cursor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" value from the response to retrieve further pages."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["invoice:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_0","description":"Maximum number of records to return per page."},{"name":"cursor","in":"query","schemaId":"schema_1","description":"Cursor reference to the next page of records."},{"name":"site_id","in":"query","schemaId":"schema_2","description":"Filter records to those occurring at the specified site. The value should be a UUID corresponding to a site within the practice."},{"name":"created_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"created_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]},{"name":"updated_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"updated_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]},{"name":"patient_id","in":"query","schemaId":"schema_2","description":"Filter invoices to those associated with the specified patient. The value should be a UUID corresponding to a patient within the practice.\n"},{"name":"is_paid","in":"query","schemaId":"schema_38","description":"Filter invoices to those that have been paid or unpaid.\n"}],"pointer":"/paths/~1invoices/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1invoices/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/invoices","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","required":false,"schemaId":"schema_0"},{"name":"cursor","in":"query","required":false,"schemaId":"schema_1"},{"name":"site_id","in":"query","required":false,"schemaId":"schema_2"},{"name":"created_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"created_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"patient_id","in":"query","required":false,"schemaId":"schema_2"},{"name":"is_paid","in":"query","required":false,"schemaId":"schema_38"}],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["invoice:read"]}],"responseCodes":["200","400","401","4XX","5XX"],"pointer":"/invoices","href":"invoices/list-invoices","openApiOperationId":"list-invoices","summary":"List invoices"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The list of invoices.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_39","exampleIds":["paths/~1invoices/get/responses/200/content/application~1json/examples/firstPage"]}},"schemaId":"schema_39","exampleIds":["paths/~1invoices/get/responses/200/content/application~1json/examples/firstPage"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1invoices/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1invoices/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1invoices/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1invoices/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1invoices/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1invoices/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1invoices/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1invoices/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1invoices/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_39","exampleIds":["paths/~1invoices/get/responses/200/content/application~1json/examples/firstPage"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_39","exampleIds":["paths/~1invoices/get/responses/200/content/application~1json/examples/firstPage"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1invoices/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1invoices/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1invoices/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1invoices/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1invoices/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1invoices/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1invoices/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1invoices/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/invoices/list-invoices"}],"panels":[]}]},"httpPath":"/invoices"},{"label":"Get invoice by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/invoices/get-invoice","routeSlug":"/docs/versions/2026-01-01/nexgen/invoices/get-invoice","metadata":{"seo":{"title":"Get invoice by ID","description":"Returns the single invoice matching id for the practice identified byX-Practice-Id. The identifier is the same id returned when listing invoices."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get-invoice","name":"Get invoice by ID","isWebhook":false,"pointer":"/paths/~1invoices~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get invoice by ID","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"single invoice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" matching "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for the practice identified by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The identifier is the same "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" returned when listing invoices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If no invoice exists for that practice and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the API responds with "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"404"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["invoice:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_2","description":"Resource identifier to filter/find.","required":true}],"pointer":"/paths/~1invoices~1{id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1invoices~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/invoices/{id}","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_2"}],"query":[],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["invoice:read"]}],"responseCodes":["200","400","401","4XX","5XX"],"pointer":"/invoices/{id}","href":"invoices/get-invoice","openApiOperationId":"get-invoice","summary":"Get invoice by ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Successful response containing a single invoice resource ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") for the requested identifier."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_40","exampleIds":["paths/~1invoices~1{id}/get/responses/200/content/application~1json/examples/appointment"]}},"schemaId":"schema_40","exampleIds":["paths/~1invoices~1{id}/get/responses/200/content/application~1json/examples/appointment"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1invoices~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1invoices~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1invoices~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1invoices~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1invoices~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1invoices~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1invoices~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1invoices~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1invoices~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_40","exampleIds":["paths/~1invoices~1{id}/get/responses/200/content/application~1json/examples/appointment"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_40","exampleIds":["paths/~1invoices~1{id}/get/responses/200/content/application~1json/examples/appointment"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1invoices~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1invoices~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1invoices~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1invoices~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1invoices~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1invoices~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1invoices~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1invoices~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/invoices/get-invoice"}],"panels":[]}]},"httpPath":"/invoices/{id}"},{"label":"List invoice items","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/invoices/list-invoice-invoice-items","routeSlug":"/docs/versions/2026-01-01/nexgen/invoices/list-invoice-invoice-items","metadata":{"seo":{"title":"List invoice items","description":"Returns a paginated list of invoice items for the invoiceidentified by id in the path, within the practice identified by X-Practice-Id. Results are ordered bycreation time, newest first (created_at descending), then by id descending for a stable sort."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list-invoice-invoice-items","name":"List invoice items","isWebhook":false,"pointer":"/paths/~1invoices~1{id}~1invoice_items/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List invoice items","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"paginated"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" list of invoice items for the invoice"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"identified by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in the path, within the practice identified by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Results are ordered by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"creation time"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", newest first ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" descending), then by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" descending for a stable sort."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional query parameters allow filtering by created and updated date ranges."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Date range."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Optional query parameters "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" filter by creation date, while "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" filter by update date. Both ends are inclusive."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"meta.cursor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" value from the response to retrieve further pages."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["invoice:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_2","description":"Resource identifier to filter/find.","required":true}],"pointer":"/paths/~1invoices~1{id}~1invoice_items/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_0","description":"Maximum number of records to return per page."},{"name":"cursor","in":"query","schemaId":"schema_1","description":"Cursor reference to the next page of records."},{"name":"created_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"created_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]},{"name":"updated_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"updated_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}],"pointer":"/paths/~1invoices~1{id}~1invoice_items/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1invoices~1{id}~1invoice_items/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/invoices/{id}/invoice_items","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_2"}],"query":[{"name":"limit","in":"query","required":false,"schemaId":"schema_0"},{"name":"cursor","in":"query","required":false,"schemaId":"schema_1"},{"name":"created_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"created_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"}],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["invoice:read"]}],"responseCodes":["200","400","401","4XX","5XX"],"pointer":"/invoices/{id}/invoice_items","href":"invoices/list-invoice-invoice-items","openApiOperationId":"list-invoice-invoice-items","summary":"List invoice items"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of invoice items for the requested practice.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_41","exampleIds":["paths/~1invoices~1{id}~1invoice_items/get/responses/200/content/application~1json/examples/firstPage"]}},"schemaId":"schema_41","exampleIds":["paths/~1invoices~1{id}~1invoice_items/get/responses/200/content/application~1json/examples/firstPage"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1invoices~1{id}~1invoice_items/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1invoices~1{id}~1invoice_items/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1invoices~1{id}~1invoice_items/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1invoices~1{id}~1invoice_items/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1invoices~1{id}~1invoice_items/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1invoices~1{id}~1invoice_items/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1invoices~1{id}~1invoice_items/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1invoices~1{id}~1invoice_items/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1invoices~1{id}~1invoice_items/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_41","exampleIds":["paths/~1invoices~1{id}~1invoice_items/get/responses/200/content/application~1json/examples/firstPage"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_41","exampleIds":["paths/~1invoices~1{id}~1invoice_items/get/responses/200/content/application~1json/examples/firstPage"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1invoices~1{id}~1invoice_items/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1invoices~1{id}~1invoice_items/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1invoices~1{id}~1invoice_items/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1invoices~1{id}~1invoice_items/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1invoices~1{id}~1invoice_items/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1invoices~1{id}~1invoice_items/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1invoices~1{id}~1invoice_items/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1invoices~1{id}~1invoice_items/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/invoices/list-invoice-invoice-items"}],"panels":[]}]},"httpPath":"/invoices/{id}/invoice_items"}],"content":{"contentType":"group","meta":{"name":"Invoices"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Invoices","showPageActions":true},{"nodeType":"markdoc","content":"Billing invoices for dental services provided to patients. List and retrieve invoice details, including amounts, payments, insurance, and outstanding balances."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/invoices","summary":"List invoices","prefix":{"name":"get","color":"get"},"badges":[],"link":"/invoices/list-invoices","deprecated":false},{"title":"/invoices/{id}","summary":"Get invoice by ID","prefix":{"name":"get","color":"get"},"badges":[],"link":"/invoices/get-invoice","deprecated":false},{"title":"/invoices/{id}/invoice_items","summary":"List invoice items","prefix":{"name":"get","color":"get"},"badges":[],"link":"/invoices/list-invoice-invoice-items","deprecated":false}]}]}]}]}},{"type":"separator","label":"NHS","content":null},{"type":"group","label":"NHS Contracts","link":"/docs/versions/2026-01-01/nexgen/nhs-contracts","routeSlug":"/docs/versions/2026-01-01/nexgen/nhs-contracts","items":[{"label":"List NHS contracts","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/nhs-contracts/nhs-list-contracts","routeSlug":"/docs/versions/2026-01-01/nexgen/nhs-contracts/nhs-list-contracts","metadata":{"seo":{"title":"List NHS contracts","description":"Returns a paginated list of NHS contracts for the practice identified byX-Practice-Id."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"nhs-list-contracts","name":"List NHS contracts","isWebhook":false,"pointer":"/paths/~1nhs~1contracts/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List NHS contracts","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of NHS contracts for the practice identified by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"site_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is supplied, the response includes only contracts assigned"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"to that site. Contracts with a null "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"site_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are not included."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Results are ordered by creation time and ID, newest first ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_at"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"descending, then "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" descending). Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"meta.cursor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" value"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"from the response to retrieve further pages."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["nhs:contract:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_0","description":"Maximum number of records to return per page."},{"name":"cursor","in":"query","schemaId":"schema_1","description":"Cursor reference to the next page of records."},{"name":"is_active","in":"query","schemaId":"schema_9","description":[{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", only records with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"active: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are returned."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", only records with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"active: false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are returned."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When omitted, all records are returned."},"children":[]}]}]}]}]},{"name":"site_id","in":"query","schemaId":"schema_2","description":"Filter records to those occurring at the specified site. The value should be a UUID corresponding to a site within the practice."},{"name":"created_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"created_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]},{"name":"updated_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"updated_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}],"pointer":"/paths/~1nhs~1contracts/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1nhs~1contracts/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/nhs/contracts","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","required":false,"schemaId":"schema_0"},{"name":"cursor","in":"query","required":false,"schemaId":"schema_1"},{"name":"is_active","in":"query","required":false,"example":true,"schemaId":"schema_9"},{"name":"site_id","in":"query","required":false,"schemaId":"schema_2"},{"name":"created_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"created_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"}],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["nhs:contract:read"]}],"responseCodes":["200","400","401","4XX","5XX"],"pointer":"/nhs/contracts","href":"nhs-contracts/nhs-list-contracts","openApiOperationId":"nhs-list-contracts","summary":"List NHS contracts"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of NHS contracts for the requested practice.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42","exampleIds":["paths/~1nhs~1contracts/get/responses/200/content/application~1json/examples/firstPage"]}},"schemaId":"schema_42","exampleIds":["paths/~1nhs~1contracts/get/responses/200/content/application~1json/examples/firstPage"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1nhs~1contracts/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1nhs~1contracts/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1nhs~1contracts/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1nhs~1contracts/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1nhs~1contracts/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1nhs~1contracts/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1nhs~1contracts/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1nhs~1contracts/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1nhs~1contracts/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_42","exampleIds":["paths/~1nhs~1contracts/get/responses/200/content/application~1json/examples/firstPage"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42","exampleIds":["paths/~1nhs~1contracts/get/responses/200/content/application~1json/examples/firstPage"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1nhs~1contracts/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1nhs~1contracts/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1nhs~1contracts/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1nhs~1contracts/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1nhs~1contracts/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1nhs~1contracts/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1nhs~1contracts/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1nhs~1contracts/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/nhs-contracts/nhs-list-contracts"}],"panels":[]}]},"httpPath":"/nhs/contracts"},{"label":"Get NHS contract by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/nhs-contracts/nhs-get-contract","routeSlug":"/docs/versions/2026-01-01/nexgen/nhs-contracts/nhs-get-contract","metadata":{"seo":{"title":"Get NHS contract by ID","description":"Returns the single NHS contract matching id for the practice identified byX-Practice-Id. The identifier is the same id returned when listing NHScontracts."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"nhs-get-contract","name":"Get NHS contract by ID","isWebhook":false,"pointer":"/paths/~1nhs~1contracts~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get NHS contract by ID","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the single NHS contract matching "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for the practice identified by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The identifier is the same "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" returned when listing NHS"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"contracts."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If no NHS contract exists for that practice and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the API responds with"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"404."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["nhs:contract:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_2","description":"Resource identifier to filter/find.","required":true}],"pointer":"/paths/~1nhs~1contracts~1{id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1nhs~1contracts~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/nhs/contracts/{id}","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_2"}],"query":[],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["nhs:contract:read"]}],"responseCodes":["200","400","401","404","4XX","5XX"],"pointer":"/nhs/contracts/{id}","href":"nhs-contracts/nhs-get-contract","openApiOperationId":"nhs-get-contract","summary":"Get NHS contract by ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Full details for one NHS contract.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43","exampleIds":["paths/~1nhs~1contracts~1{id}/get/responses/200/content/application~1json/examples/contract"]}},"schemaId":"schema_43","exampleIds":["paths/~1nhs~1contracts~1{id}/get/responses/200/content/application~1json/examples/contract"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1nhs~1contracts~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1nhs~1contracts~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1nhs~1contracts~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1nhs~1contracts~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not Found - Could not find a matching entity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1nhs~1contracts~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]}},"schemaId":"components/schemas/not-found","exampleIds":["paths/~1nhs~1contracts~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1nhs~1contracts~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1nhs~1contracts~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1nhs~1contracts~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1nhs~1contracts~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1nhs~1contracts~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_43","exampleIds":["paths/~1nhs~1contracts~1{id}/get/responses/200/content/application~1json/examples/contract"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43","exampleIds":["paths/~1nhs~1contracts~1{id}/get/responses/200/content/application~1json/examples/contract"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1nhs~1contracts~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1nhs~1contracts~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1nhs~1contracts~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1nhs~1contracts~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/not-found","exampleIds":["paths/~1nhs~1contracts~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1nhs~1contracts~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1nhs~1contracts~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1nhs~1contracts~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1nhs~1contracts~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1nhs~1contracts~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/nhs-contracts/nhs-get-contract"}],"panels":[]}]},"httpPath":"/nhs/contracts/{id}"}],"content":{"contentType":"group","meta":{"name":"NHS Contracts"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"NHS Contracts","showPageActions":true},{"nodeType":"markdoc","content":"NHS dental service contracts configured for a practice, including NHS-issued identifiers."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/nhs/contracts","summary":"List NHS contracts","prefix":{"name":"get","color":"get"},"badges":[],"link":"/nhs-contracts/nhs-list-contracts","deprecated":false},{"title":"/nhs/contracts/{id}","summary":"Get NHS contract by ID","prefix":{"name":"get","color":"get"},"badges":[],"link":"/nhs-contracts/nhs-get-contract","deprecated":false}]}]}]}]}},{"type":"separator","label":"Identifier Mappings","content":null},{"type":"group","label":"Identifier Mappings","link":"/docs/versions/2026-01-01/nexgen/identifier-mappings","routeSlug":"/docs/versions/2026-01-01/nexgen/identifier-mappings","items":[{"label":"Map legacy ids to UUIDs","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/identifier-mappings/map-identifiers","routeSlug":"/docs/versions/2026-01-01/nexgen/identifier-mappings/map-identifiers","metadata":{"seo":{"title":"Map legacy ids to UUIDs","description":"Maps legacy integer sequential ids to their UUID values for thepractice identified by X-Practice-Id."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"map-identifiers","name":"Map legacy ids to UUIDs","isWebhook":false,"pointer":"/paths/~1identifier_mappings/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Map legacy ids to UUIDs","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Maps legacy integer sequential ids to their UUID values for the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice identified by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The request must include:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"resource"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — one of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"patient"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"practitioner"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"appointment"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"invoice"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — between 1 and 100 inclusive legacy integer ids"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The response contains a mapping only for ids that match a record. Requested"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ids with no match are omitted."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["identifier_mapping:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1identifier_mappings/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/map-identifiers-request","exampleIds":["paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_patient_ids","paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_appointment_ids","paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_invoice_ids","paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_practitioner_ids"]}},"schemaId":"components/schemas/map-identifiers-request","exampleIds":["paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_patient_ids","paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_appointment_ids","paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_invoice_ids","paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_practitioner_ids"],"pointer":"/paths/~1identifier_mappings/post/requestBody","description":"Legacy identifiers to map."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/identifier_mappings","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["identifier_mapping:read"]}],"requestBody":{"application/json":{"schemaId":"components/schemas/map-identifiers-request","exampleIds":["paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_patient_ids","paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_appointment_ids","paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_invoice_ids","paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_practitioner_ids"]}},"responseCodes":["200","400","401","4XX","5XX"],"pointer":"/identifier_mappings","href":"identifier-mappings/map-identifiers","openApiOperationId":"map-identifiers","summary":"Map legacy ids to UUIDs"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"schemaId":"components/schemas/map-identifiers-request","exampleIds":["paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_patient_ids","paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_appointment_ids","paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_invoice_ids","paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_practitioner_ids"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/map-identifiers-request","exampleIds":["paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_patient_ids","paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_appointment_ids","paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_invoice_ids","paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_practitioner_ids"]}},"examples":[{},{},{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Mapped identifiers.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1identifier_mappings/post/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1identifier_mappings/post/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1identifier_mappings/post/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1identifier_mappings/post/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1identifier_mappings/post/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1identifier_mappings/post/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1identifier_mappings/post/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1identifier_mappings/post/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1identifier_mappings/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1identifier_mappings/post/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1identifier_mappings/post/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1identifier_mappings/post/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1identifier_mappings/post/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1identifier_mappings/post/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1identifier_mappings/post/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1identifier_mappings/post/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1identifier_mappings/post/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/identifier-mappings/map-identifiers"}],"panels":[]}]},"httpPath":"/identifier_mappings"}],"content":{"contentType":"group","meta":{"name":"Identifier Mappings"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Identifier Mappings","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Map legacy integer sequential ids to NexGen UUIDs for supported resource types ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"patient"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"practitioner"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"appointment"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"invoice"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), up to 100 ids per request."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/identifier_mappings","summary":"Map legacy ids to UUIDs","prefix":{"name":"post","color":"post"},"badges":[],"link":"/identifier-mappings/map-identifiers","deprecated":false}]}]}]}]}},{"type":"separator","label":"Treatments","content":null},{"type":"group","label":"Treatments","link":"/docs/versions/2026-01-01/nexgen/treatments","routeSlug":"/docs/versions/2026-01-01/nexgen/treatments","items":[{"label":"List treatments","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/treatments/list-treatments","routeSlug":"/docs/versions/2026-01-01/nexgen/treatments/list-treatments","metadata":{"seo":{"title":"List treatments","description":"Returns a paginated list of treatments for the practice identified byX-Practice-Id. Treatments are the practice-level catalogue of proceduresthat can be assigned to a patient treatment plan."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list-treatments","name":"List treatments","isWebhook":false,"pointer":"/paths/~1treatments/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List treatments","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"paginated"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" list of treatments for the practice identified by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Treatments are the practice-level catalogue of procedures"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"that can be assigned to a patient treatment plan."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Practice-wide:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" treatments belong to the practice as a whole, not to a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"site. This endpoint does not accept a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"site_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" filter, and every treatment"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"for the practice is returned, whichever site a treatment is used at."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Results are ordered by "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"creation time"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", latest first ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_at"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"descending), then by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" descending for a stable sort."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional query parameter "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_active"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", restricts results to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"active treatments. When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", restricts results to inactive treatments."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When omitted, all treatments are returned."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional date filters ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") restrict results by creation or last"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"update date. When omitted, the whole catalogue is returned."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["treatment:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_0","description":"Maximum number of records to return per page."},{"name":"cursor","in":"query","schemaId":"schema_1","description":"Cursor reference to the next page of records."},{"name":"is_active","in":"query","schemaId":"schema_9","description":[{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", only records with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"active: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are returned."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", only records with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"active: false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are returned."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When omitted, all records are returned."},"children":[]}]}]}]}]},{"name":"created_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"created_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]},{"name":"updated_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"updated_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]},{"name":"treatment_category_id","in":"query","schemaId":"schema_45","description":"Filter treatments to those in the specified treatment category. The value should be a UUID."}],"pointer":"/paths/~1treatments/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1treatments/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/treatments","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","required":false,"schemaId":"schema_0"},{"name":"cursor","in":"query","required":false,"schemaId":"schema_1"},{"name":"is_active","in":"query","required":false,"example":true,"schemaId":"schema_9"},{"name":"created_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"created_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"treatment_category_id","in":"query","required":false,"example":"4ee0fa3e-12f4-4942-9347-1702eb89ebcc","schemaId":"schema_45"}],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["treatment:read"]}],"responseCodes":["200","400","401","4XX","5XX"],"pointer":"/treatments","href":"treatments/list-treatments","openApiOperationId":"list-treatments","summary":"List treatments"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of treatments for the requested practice.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_46","exampleIds":["paths/~1treatments/get/responses/200/content/application~1json/examples/firstPage"]}},"schemaId":"schema_46","exampleIds":["paths/~1treatments/get/responses/200/content/application~1json/examples/firstPage"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatments/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatments/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatments/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatments/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatments/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatments/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatments/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatments/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1treatments/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_46","exampleIds":["paths/~1treatments/get/responses/200/content/application~1json/examples/firstPage"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_46","exampleIds":["paths/~1treatments/get/responses/200/content/application~1json/examples/firstPage"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatments/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatments/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatments/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatments/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatments/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatments/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatments/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatments/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/treatments/list-treatments"}],"panels":[]}]},"httpPath":"/treatments"},{"label":"Get treatment by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/treatments/get-treatment","routeSlug":"/docs/versions/2026-01-01/nexgen/treatments/get-treatment","metadata":{"seo":{"title":"Get treatment by ID","description":"Returns the single treatment matching id for the practice identified byX-Practice-Id. Treatments are practice-wide. The identifier is the sameid returned when listing treatments."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get-treatment","name":"Get treatment by ID","isWebhook":false,"pointer":"/paths/~1treatments~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get treatment by ID","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the single treatment matching "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for the practice identified by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Treatments are practice-wide. The identifier is the same"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" returned when listing treatments."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If no treatment exists for that practice and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the API responds with"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"404."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["treatment:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_2","description":"Resource identifier to filter/find.","required":true}],"pointer":"/paths/~1treatments~1{id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1treatments~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/treatments/{id}","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_2"}],"query":[],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["treatment:read"]}],"responseCodes":["200","400","401","404","4XX","5XX"],"pointer":"/treatments/{id}","href":"treatments/get-treatment","openApiOperationId":"get-treatment","summary":"Get treatment by ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Full details for one treatment.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_47","exampleIds":["paths/~1treatments~1{id}/get/responses/200/content/application~1json/examples/treatment"]}},"schemaId":"schema_47","exampleIds":["paths/~1treatments~1{id}/get/responses/200/content/application~1json/examples/treatment"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatments~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatments~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatments~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatments~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not Found - Could not find a matching entity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1treatments~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]}},"schemaId":"components/schemas/not-found","exampleIds":["paths/~1treatments~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatments~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatments~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatments~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatments~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1treatments~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_47","exampleIds":["paths/~1treatments~1{id}/get/responses/200/content/application~1json/examples/treatment"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_47","exampleIds":["paths/~1treatments~1{id}/get/responses/200/content/application~1json/examples/treatment"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatments~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatments~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatments~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatments~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/not-found","exampleIds":["paths/~1treatments~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1treatments~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatments~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatments~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatments~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatments~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/treatments/get-treatment"}],"panels":[]}]},"httpPath":"/treatments/{id}"}],"content":{"contentType":"group","meta":{"name":"Treatments"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Treatments","showPageActions":true},{"nodeType":"markdoc","content":"Practice-level catalogue of procedures that can be assigned to a patient treatment plan. List and retrieve treatments. Treatments are practice-wide and are not scoped to a site."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/treatments","summary":"List treatments","prefix":{"name":"get","color":"get"},"badges":[],"link":"/treatments/list-treatments","deprecated":false},{"title":"/treatments/{id}","summary":"Get treatment by ID","prefix":{"name":"get","color":"get"},"badges":[],"link":"/treatments/get-treatment","deprecated":false}]}]}]}]}},{"type":"group","label":"Treatment Categories","link":"/docs/versions/2026-01-01/nexgen/treatment-categories","routeSlug":"/docs/versions/2026-01-01/nexgen/treatment-categories","items":[{"label":"List treatment categories","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/treatment-categories/list-treatment-categories","routeSlug":"/docs/versions/2026-01-01/nexgen/treatment-categories/list-treatment-categories","metadata":{"seo":{"title":"List treatment categories","description":"Returns a paginated list of treatment categories for the practice identified byX-Practice-Id. Treatment categories are the folders a practice uses to group itstreatment catalogue."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list-treatment-categories","name":"List treatment categories","isWebhook":false,"pointer":"/paths/~1treatment_categories/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List treatment categories","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"paginated"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" list of treatment categories for the practice identified by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Treatment categories are the folders a practice uses to group its"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"treatment catalogue."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Practice-wide:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" treatment categories belong to the practice as a whole, not to a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"site. This endpoint does not accept a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"site_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" filter, and every treatment category"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"for the practice is returned, whichever site a treatment is used at."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Results are ordered by "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"creation time"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", latest first ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" descending),"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"then by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" descending for a stable sort."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional date filters ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") restrict results by creation or last update date. When omitted,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the whole catalogue is returned."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["treatment:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_0","description":"Maximum number of records to return per page."},{"name":"cursor","in":"query","schemaId":"schema_1","description":"Cursor reference to the next page of records."},{"name":"created_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"created_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]},{"name":"updated_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"updated_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}],"pointer":"/paths/~1treatment_categories/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1treatment_categories/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/treatment_categories","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","required":false,"schemaId":"schema_0"},{"name":"cursor","in":"query","required":false,"schemaId":"schema_1"},{"name":"created_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"created_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"}],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["treatment:read"]}],"responseCodes":["200","400","401","4XX","5XX"],"pointer":"/treatment_categories","href":"treatment-categories/list-treatment-categories","openApiOperationId":"list-treatment-categories","summary":"List treatment categories"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of treatment categories for the requested practice.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_48","exampleIds":["paths/~1treatment_categories/get/responses/200/content/application~1json/examples/firstPage"]}},"schemaId":"schema_48","exampleIds":["paths/~1treatment_categories/get/responses/200/content/application~1json/examples/firstPage"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatment_categories/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatment_categories/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatment_categories/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatment_categories/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatment_categories/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatment_categories/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatment_categories/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatment_categories/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1treatment_categories/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_48","exampleIds":["paths/~1treatment_categories/get/responses/200/content/application~1json/examples/firstPage"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_48","exampleIds":["paths/~1treatment_categories/get/responses/200/content/application~1json/examples/firstPage"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatment_categories/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatment_categories/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatment_categories/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatment_categories/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatment_categories/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatment_categories/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatment_categories/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatment_categories/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/treatment-categories/list-treatment-categories"}],"panels":[]}]},"httpPath":"/treatment_categories"},{"label":"Get treatment category by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/treatment-categories/get-treatment-category","routeSlug":"/docs/versions/2026-01-01/nexgen/treatment-categories/get-treatment-category","metadata":{"seo":{"title":"Get treatment category by ID","description":"Returns the single treatment category matching id for the practice identified byX-Practice-Id. The identifier is the same id returned when listing treatmentcategories."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get-treatment-category","name":"Get treatment category by ID","isWebhook":false,"pointer":"/paths/~1treatment_categories~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get treatment category by ID","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the single treatment category matching "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for the practice identified by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The identifier is the same "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" returned when listing treatment"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"categories."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Practice-wide:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" treatment categories belong to the practice as a whole, not to a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"site. Lookup is by practice and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" only; no "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"site_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is needed or accepted."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If no treatment category exists for that practice and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the API responds with"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"404."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["treatment:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_2","description":"Resource identifier to filter/find.","required":true}],"pointer":"/paths/~1treatment_categories~1{id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1treatment_categories~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/treatment_categories/{id}","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_2"}],"query":[],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["treatment:read"]}],"responseCodes":["200","400","401","404","4XX","5XX"],"pointer":"/treatment_categories/{id}","href":"treatment-categories/get-treatment-category","openApiOperationId":"get-treatment-category","summary":"Get treatment category by ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Full details for one treatment category.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_49","exampleIds":["paths/~1treatment_categories~1{id}/get/responses/200/content/application~1json/examples/treatmentCategory"]}},"schemaId":"schema_49","exampleIds":["paths/~1treatment_categories~1{id}/get/responses/200/content/application~1json/examples/treatmentCategory"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatment_categories~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatment_categories~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatment_categories~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatment_categories~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not Found - Could not find a matching entity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1treatment_categories~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]}},"schemaId":"components/schemas/not-found","exampleIds":["paths/~1treatment_categories~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatment_categories~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatment_categories~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatment_categories~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatment_categories~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1treatment_categories~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_49","exampleIds":["paths/~1treatment_categories~1{id}/get/responses/200/content/application~1json/examples/treatmentCategory"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_49","exampleIds":["paths/~1treatment_categories~1{id}/get/responses/200/content/application~1json/examples/treatmentCategory"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatment_categories~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatment_categories~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatment_categories~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatment_categories~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/not-found","exampleIds":["paths/~1treatment_categories~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1treatment_categories~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatment_categories~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatment_categories~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatment_categories~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatment_categories~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/treatment-categories/get-treatment-category"}],"panels":[]}]},"httpPath":"/treatment_categories/{id}"}],"content":{"contentType":"group","meta":{"name":"Treatment Categories"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Treatment Categories","showPageActions":true},{"nodeType":"markdoc","content":"Folders a practice uses to group its treatment catalogue. List and retrieve treatment categories. Treatment categories are practice-wide and are not scoped to a site."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/treatment_categories","summary":"List treatment categories","prefix":{"name":"get","color":"get"},"badges":[],"link":"/treatment-categories/list-treatment-categories","deprecated":false},{"title":"/treatment_categories/{id}","summary":"Get treatment category by ID","prefix":{"name":"get","color":"get"},"badges":[],"link":"/treatment-categories/get-treatment-category","deprecated":false}]}]}]}]}},{"type":"group","label":"Treatment Plans","link":"/docs/versions/2026-01-01/nexgen/treatment-plans","routeSlug":"/docs/versions/2026-01-01/nexgen/treatment-plans","items":[{"label":"List treatment plans","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/treatment-plans/list-treatment-plans","routeSlug":"/docs/versions/2026-01-01/nexgen/treatment-plans/list-treatment-plans","metadata":{"seo":{"title":"List treatment plans","description":"Returns a paginated list of treatment plans for the practice identified byX-Practice-Id. Results are ordered by creation time, newest first(created_at descending), then by id descending for a stable sort."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list-treatment-plans","name":"List treatment plans","isWebhook":false,"pointer":"/paths/~1treatment_plans/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List treatment plans","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"paginated"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" list of treatment plans for the practice identified by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Results are ordered by "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"creation time"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", newest first"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" descending), then by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" descending for a stable sort."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional query parameters allow filtering by patient, practitioner, site, start date, completed date,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"created/updated date ranges and if the treatment plan is completed."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_completed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", results are restricted to plans that are completed."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", results are restricted to plans that have not been completed."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When omitted, all treatment plans are returned."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Date range."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Optional query parameters "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" filter by creation date, while "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" filter by update date. Additionally, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" filter by start date, and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"completed_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"completed_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" filter by completed at date. Both ends are inclusive."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"meta.cursor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" value from the response to retrieve further pages."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["treatment:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_0","description":"Maximum number of records to return per page."},{"name":"cursor","in":"query","schemaId":"schema_1","description":"Cursor reference to the next page of records."},{"name":"site_id","in":"query","schemaId":"schema_2","description":"Filter records to those occurring at the specified site. The value should be a UUID corresponding to a site within the practice."},{"name":"practitioner_id","in":"query","schemaId":"schema_2","description":"Filter records to those associated with the specified practitioner. The value should be a UUID corresponding to a practitioner within the practice."},{"name":"created_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"created_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]},{"name":"updated_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"updated_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]},{"name":"patient_id","in":"query","schemaId":"schema_2","description":"Filter treatment plans to those associated with the specified patient. The value should be a UUID corresponding to a patient within the practice.\n"},{"name":"is_completed","in":"query","schemaId":"schema_38","description":"Filter treatment plans to those those that have been completed or incompleted.\n"},{"name":"start_date_from","in":"query","schemaId":"schema_12","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of the start date range ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date if it is earlier)."},"children":[]}]}]}]}]},{"name":"start_date_to","in":"query","schemaId":"schema_13","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of the start date range ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control. - When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days. - When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"name":"completed_date_from","in":"query","schemaId":"schema_12","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of the completed date range ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"completed_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"completed_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"completed_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"completed_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date if it is earlier)."},"children":[]}]}]}]}]},{"name":"completed_date_to","in":"query","schemaId":"schema_13","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of the completed date range ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"completed_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"completed_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"completed_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"completed_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"completed_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}],"pointer":"/paths/~1treatment_plans/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1treatment_plans/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/treatment_plans","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","required":false,"schemaId":"schema_0"},{"name":"cursor","in":"query","required":false,"schemaId":"schema_1"},{"name":"site_id","in":"query","required":false,"schemaId":"schema_2"},{"name":"practitioner_id","in":"query","required":false,"schemaId":"schema_2"},{"name":"created_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"created_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"patient_id","in":"query","required":false,"schemaId":"schema_2"},{"name":"is_completed","in":"query","required":false,"schemaId":"schema_38"},{"name":"start_date_from","in":"query","required":false,"example":"2025-01-01","schemaId":"schema_12"},{"name":"start_date_to","in":"query","required":false,"example":"2025-03-31","schemaId":"schema_13"},{"name":"completed_date_from","in":"query","required":false,"example":"2025-01-01","schemaId":"schema_12"},{"name":"completed_date_to","in":"query","required":false,"example":"2025-03-31","schemaId":"schema_13"}],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["treatment:read"]}],"responseCodes":["200","400","401","4XX","5XX"],"pointer":"/treatment_plans","href":"treatment-plans/list-treatment-plans","openApiOperationId":"list-treatment-plans","summary":"List treatment plans"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of treatment plans for the requested practice.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_50","exampleIds":["paths/~1treatment_plans/get/responses/200/content/application~1json/examples/firstPage"]}},"schemaId":"schema_50","exampleIds":["paths/~1treatment_plans/get/responses/200/content/application~1json/examples/firstPage"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatment_plans/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatment_plans/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatment_plans/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatment_plans/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatment_plans/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatment_plans/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatment_plans/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatment_plans/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1treatment_plans/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_50","exampleIds":["paths/~1treatment_plans/get/responses/200/content/application~1json/examples/firstPage"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_50","exampleIds":["paths/~1treatment_plans/get/responses/200/content/application~1json/examples/firstPage"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatment_plans/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatment_plans/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatment_plans/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatment_plans/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatment_plans/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatment_plans/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatment_plans/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatment_plans/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/treatment-plans/list-treatment-plans"}],"panels":[]}]},"httpPath":"/treatment_plans"},{"label":"Get treatment plan by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/treatment-plans/get-treatment-plan","routeSlug":"/docs/versions/2026-01-01/nexgen/treatment-plans/get-treatment-plan","metadata":{"seo":{"title":"Get treatment plan by ID","description":"Returns the single treatment plan matching id for the practice identified by X-Practice-Id. The identifier is the same id returned when listing treatment plans.If no treatment plan exists for that practice and id, the API responds with 404."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get-treatment-plan","name":"Get treatment plan by ID","isWebhook":false,"pointer":"/paths/~1treatment_plans~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get treatment plan by ID","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"single treatment plan"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" matching "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for the practice identified by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The identifier is the same "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" returned when listing treatment plans."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If no treatment plan exists for that practice and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the API responds with "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"404"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["treatment:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_2","description":"Resource identifier to filter/find.","required":true}],"pointer":"/paths/~1treatment_plans~1{id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1treatment_plans~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/treatment_plans/{id}","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_2"}],"query":[],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["treatment:read"]}],"responseCodes":["200","400","401","404","4XX","5XX"],"pointer":"/treatment_plans/{id}","href":"treatment-plans/get-treatment-plan","openApiOperationId":"get-treatment-plan","summary":"Get treatment plan by ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Full details for one treatment plan.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_51","exampleIds":["paths/~1treatment_plans~1{id}/get/responses/200/content/application~1json/examples/treatment_plan"]}},"schemaId":"schema_51","exampleIds":["paths/~1treatment_plans~1{id}/get/responses/200/content/application~1json/examples/treatment_plan"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatment_plans~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatment_plans~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatment_plans~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatment_plans~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not Found - Could not find a matching entity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1treatment_plans~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]}},"schemaId":"components/schemas/not-found","exampleIds":["paths/~1treatment_plans~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatment_plans~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatment_plans~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatment_plans~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatment_plans~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1treatment_plans~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_51","exampleIds":["paths/~1treatment_plans~1{id}/get/responses/200/content/application~1json/examples/treatment_plan"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_51","exampleIds":["paths/~1treatment_plans~1{id}/get/responses/200/content/application~1json/examples/treatment_plan"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatment_plans~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatment_plans~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatment_plans~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatment_plans~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/not-found","exampleIds":["paths/~1treatment_plans~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1treatment_plans~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatment_plans~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatment_plans~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatment_plans~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatment_plans~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/treatment-plans/get-treatment-plan"}],"panels":[]}]},"httpPath":"/treatment_plans/{id}"}],"content":{"contentType":"group","meta":{"name":"Treatment Plans"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Treatment Plans","showPageActions":true},{"nodeType":"markdoc","content":"Planned course of dental treatment for a patient at a practice."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/treatment_plans","summary":"List treatment plans","prefix":{"name":"get","color":"get"},"badges":[],"link":"/treatment-plans/list-treatment-plans","deprecated":false},{"title":"/treatment_plans/{id}","summary":"Get treatment plan by ID","prefix":{"name":"get","color":"get"},"badges":[],"link":"/treatment-plans/get-treatment-plan","deprecated":false}]}]}]}]}},{"type":"group","label":"Treatment Plan Items","link":"/docs/versions/2026-01-01/nexgen/treatment-plan-items","routeSlug":"/docs/versions/2026-01-01/nexgen/treatment-plan-items","items":[{"label":"List treatment plan items","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/treatment-plan-items/list-treatment-plan-treatment-plan-items","routeSlug":"/docs/versions/2026-01-01/nexgen/treatment-plan-items/list-treatment-plan-treatment-plan-items","metadata":{"seo":{"title":"List treatment plan items","description":"Returns a paginated list of treatment plan items for the treatment planidentified by id in the path, within the practice identified by X-Practice-Id. Results are ordered bycreation time, newest first (created_at descending), then by id descending for a stable sort."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list-treatment-plan-treatment-plan-items","name":"List treatment plan items","isWebhook":false,"pointer":"/paths/~1treatment_plans~1{id}~1treatment_plan_items/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List treatment plan items","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"paginated"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" list of treatment plan items for the treatment plan"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"identified by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in the path, within the practice identified by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Practice-Id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Results are ordered by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"creation time"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", newest first ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" descending), then by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" descending for a stable sort."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional query parameters allow filtering by created/updated date ranges."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Date range."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Optional query parameters "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" filter by creation date, while "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" filter by update date. Both ends are inclusive."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"meta.cursor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" value from the response to retrieve further pages."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["treatment:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_2","description":"Resource identifier to filter/find.","required":true}],"pointer":"/paths/~1treatment_plans~1{id}~1treatment_plan_items/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_0","description":"Maximum number of records to return per page."},{"name":"cursor","in":"query","schemaId":"schema_1","description":"Cursor reference to the next page of records."},{"name":"created_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"created_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of a created date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]},{"name":"updated_date_from","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive start of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" up to 90 days later"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(or up to the current date-time if it is earlier)."},"children":[]}]}]}]}]},{"name":"updated_date_to","in":"query","schemaId":"schema_3","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inclusive end of an updated date range filter. Calendar date only ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for explicit date range control."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the range between the two values must not exceed 90 days."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When used without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_from"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", returns records from 90 days before "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"earliest available date if less than 90 days of data exists) up to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"updated_date_to"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}],"pointer":"/paths/~1treatment_plans~1{id}~1treatment_plan_items/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Practice-Id","in":"header","schemaId":"schema_2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in whose context the request is executed. The API"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uses this to resolve data the caller is permitted to access for that practice."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1treatment_plans~1{id}~1treatment_plan_items/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/treatment_plans/{id}/treatment_plan_items","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_2"}],"query":[{"name":"limit","in":"query","required":false,"schemaId":"schema_0"},{"name":"cursor","in":"query","required":false,"schemaId":"schema_1"},{"name":"created_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"created_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_from","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"},{"name":"updated_date_to","in":"query","required":false,"example":"2026-01-01","schemaId":"schema_3"}],"querystring":[],"header":[{"name":"X-Practice-Id","in":"header","required":true,"schemaId":"schema_2"}],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["treatment:read"]}],"responseCodes":["200","400","401","4XX","5XX"],"pointer":"/treatment_plans/{id}/treatment_plan_items","href":"treatment-plan-items/list-treatment-plan-treatment-plan-items","openApiOperationId":"list-treatment-plan-treatment-plan-items","summary":"List treatment plan items"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of treatment plan items for the requested practice.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52","exampleIds":["paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/200/content/application~1json/examples/firstPage"]}},"schemaId":"schema_52","exampleIds":["paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/200/content/application~1json/examples/firstPage"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_52","exampleIds":["paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/200/content/application~1json/examples/firstPage"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52","exampleIds":["paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/200/content/application~1json/examples/firstPage"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/treatment-plan-items/list-treatment-plan-treatment-plan-items"}],"panels":[]}]},"httpPath":"/treatment_plans/{id}/treatment_plan_items"}],"content":{"contentType":"group","meta":{"name":"Treatment Plan Items"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Treatment Plan Items","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A treatment charted on a patient’s treatment plan."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/treatment_plans/{id}/treatment_plan_items","summary":"List treatment plan items","prefix":{"name":"get","color":"get"},"badges":[],"link":"/treatment-plan-items/list-treatment-plan-treatment-plan-items","deprecated":false}]}]}]}]}},{"type":"separator","label":"Marketplace","content":null},{"type":"group","label":"Subscriptions","link":"/docs/versions/2026-01-01/nexgen/subscriptions","routeSlug":"/docs/versions/2026-01-01/nexgen/subscriptions","items":[{"label":"List subscriptions","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/subscriptions/list-subscriptions","routeSlug":"/docs/versions/2026-01-01/nexgen/subscriptions/list-subscriptions","metadata":{"seo":{"title":"List subscriptions","description":"Returns a paginated list of subscriptions for for the authenticated product client.Results are ordered by creation time, earliest first (created_at descending),then by id descending for a stable sort."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list-subscriptions","name":"List subscriptions","isWebhook":false,"pointer":"/paths/~1market~1subscriptions/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List subscriptions","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"paginated"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" list of subscriptions for for the authenticated product client."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Results are ordered by "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"creation time"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", earliest first ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"created_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" descending),"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"then by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" descending for a stable sort."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"meta.cursor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" value from the response to retrieve further pages."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["subscription:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_0","description":"Maximum number of records to return per page."},{"name":"cursor","in":"query","schemaId":"schema_1","description":"Cursor reference to the next page of records."}],"pointer":"/paths/~1market~1subscriptions/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/market/subscriptions","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","required":false,"schemaId":"schema_0"},{"name":"cursor","in":"query","required":false,"schemaId":"schema_1"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["subscription:read"]}],"responseCodes":["200","400","401","4XX","5XX"],"pointer":"/market/subscriptions","href":"subscriptions/list-subscriptions","openApiOperationId":"list-subscriptions","summary":"List subscriptions"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The list of active subscriptions.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_53","exampleIds":["paths/~1market~1subscriptions/get/responses/200/content/application~1json/examples/firstPage"]}},"schemaId":"schema_53","exampleIds":["paths/~1market~1subscriptions/get/responses/200/content/application~1json/examples/firstPage"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1market~1subscriptions/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1market~1subscriptions/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1market~1subscriptions/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1market~1subscriptions/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1market~1subscriptions/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1market~1subscriptions/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1market~1subscriptions/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1market~1subscriptions/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1market~1subscriptions/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_53","exampleIds":["paths/~1market~1subscriptions/get/responses/200/content/application~1json/examples/firstPage"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_53","exampleIds":["paths/~1market~1subscriptions/get/responses/200/content/application~1json/examples/firstPage"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1market~1subscriptions/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1market~1subscriptions/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1market~1subscriptions/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1market~1subscriptions/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1market~1subscriptions/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1market~1subscriptions/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1market~1subscriptions/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1market~1subscriptions/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/subscriptions/list-subscriptions"}],"panels":[]}]},"httpPath":"/market/subscriptions"},{"label":"Get subscription","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/subscriptions/get-subscription","routeSlug":"/docs/versions/2026-01-01/nexgen/subscriptions/get-subscription","metadata":{"seo":{"title":"Get subscription","description":"Returns the single subscription matching id.The identifier is the same id returned when listing subscriptions."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get-subscription","name":"Get subscription","isWebhook":false,"pointer":"/paths/~1market~1subscriptions~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get subscription","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"single subscription"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" matching "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The identifier is the same "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" returned when listing subscriptions."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If no subscription exists for that "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the API responds with "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"404"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["subscription:read"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_2","description":"Resource identifier to filter/find.","required":true}],"pointer":"/paths/~1market~1subscriptions~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/market/subscriptions/{id}","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_2"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["subscription:read"]}],"responseCodes":["200","400","401","404","4XX","5XX"],"pointer":"/market/subscriptions/{id}","href":"subscriptions/get-subscription","openApiOperationId":"get-subscription","summary":"Get subscription"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Full details for one subscription.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_54","exampleIds":["paths/~1market~1subscriptions~1{id}/get/responses/200/content/application~1json/examples/subscription"]}},"schemaId":"schema_54","exampleIds":["paths/~1market~1subscriptions~1{id}/get/responses/200/content/application~1json/examples/subscription"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1market~1subscriptions~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1market~1subscriptions~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1market~1subscriptions~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1market~1subscriptions~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not Found - Could not find a matching entity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1market~1subscriptions~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]}},"schemaId":"components/schemas/not-found","exampleIds":["paths/~1market~1subscriptions~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1market~1subscriptions~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1market~1subscriptions~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1market~1subscriptions~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1market~1subscriptions~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1market~1subscriptions~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_54","exampleIds":["paths/~1market~1subscriptions~1{id}/get/responses/200/content/application~1json/examples/subscription"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_54","exampleIds":["paths/~1market~1subscriptions~1{id}/get/responses/200/content/application~1json/examples/subscription"]}}},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1market~1subscriptions~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1market~1subscriptions~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1market~1subscriptions~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1market~1subscriptions~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/not-found","exampleIds":["paths/~1market~1subscriptions~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1market~1subscriptions~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1market~1subscriptions~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1market~1subscriptions~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1market~1subscriptions~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1market~1subscriptions~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/subscriptions/get-subscription"}],"panels":[]}]},"httpPath":"/market/subscriptions/{id}"},{"label":"Delete subscription","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/versions/2026-01-01/nexgen/subscriptions/delete-subscription","routeSlug":"/docs/versions/2026-01-01/nexgen/subscriptions/delete-subscription","metadata":{"seo":{"title":"Delete subscription","description":"Deletes the active subscription matching id, terminating it immediately.If no subscription exists for that id, the API responds with 404."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"delete-subscription","name":"Delete subscription","isWebhook":false,"pointer":"/paths/~1market~1subscriptions~1{id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete subscription","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deletes the active subscription matching "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", terminating it immediately."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If no subscription exists for that "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the API responds with "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"404"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"oauth2","scopes":["subscription:manage"],"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_2","description":"Resource identifier to filter/find.","required":true}],"pointer":"/paths/~1market~1subscriptions~1{id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/market/subscriptions/{id}","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_2"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}],"scopes":["subscription:manage"]}],"responseCodes":["204","400","401","404","4XX","5XX"],"pointer":"/market/subscriptions/{id}","href":"subscriptions/delete-subscription","openApiOperationId":"delete-subscription","summary":"Delete subscription"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","description":"Mock server","isMockServer":true},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Subscription successfully deleted."},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed Request ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1market~1subscriptions~1{id}/delete/responses/400/content/application~1problem+json/examples/badRequest"]}},"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1market~1subscriptions~1{id}/delete/responses/400/content/application~1problem+json/examples/badRequest"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized - Provide proof of identity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1market~1subscriptions~1{id}/delete/responses/401/content/application~1problem+json/examples/unauthorized"]}},"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1market~1subscriptions~1{id}/delete/responses/401/content/application~1problem+json/examples/unauthorized"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not Found - Could not find a matching entity ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1market~1subscriptions~1{id}/delete/responses/404/content/application~1problem+json/examples/notFound"]}},"schemaId":"components/schemas/not-found","exampleIds":["paths/~1market~1subscriptions~1{id}/delete/responses/404/content/application~1problem+json/examples/notFound"]},{"code":"4XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1market~1subscriptions~1{id}/delete/responses/4XX/content/application~1problem+json/examples/clientError"]}},"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1market~1subscriptions~1{id}/delete/responses/4XX/content/application~1problem+json/examples/clientError"]},{"code":"5XX","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Server Error ("},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ProblemDetails"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1market~1subscriptions~1{id}/delete/responses/5XX/content/application~1problem+json/examples/serverError"]}},"schemaId":"components/schemas/server-error","exampleIds":["paths/~1market~1subscriptions~1{id}/delete/responses/5XX/content/application~1problem+json/examples/serverError"]}],"pointer":"/paths/~1market~1subscriptions~1{id}/delete/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"204"},{"code":"400","schemaId":"components/schemas/bad-request","exampleIds":["paths/~1market~1subscriptions~1{id}/delete/responses/400/content/application~1problem+json/examples/badRequest"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/bad-request","exampleIds":["paths/~1market~1subscriptions~1{id}/delete/responses/400/content/application~1problem+json/examples/badRequest"]}}},{"code":"401","schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1market~1subscriptions~1{id}/delete/responses/401/content/application~1problem+json/examples/unauthorized"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/unauthorized","exampleIds":["paths/~1market~1subscriptions~1{id}/delete/responses/401/content/application~1problem+json/examples/unauthorized"]}}},{"code":"404","schemaId":"components/schemas/not-found","exampleIds":["paths/~1market~1subscriptions~1{id}/delete/responses/404/content/application~1problem+json/examples/notFound"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/not-found","exampleIds":["paths/~1market~1subscriptions~1{id}/delete/responses/404/content/application~1problem+json/examples/notFound"]}}},{"code":"4XX","schemaId":"components/schemas/problem-details","exampleIds":["paths/~1market~1subscriptions~1{id}/delete/responses/4XX/content/application~1problem+json/examples/clientError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/problem-details","exampleIds":["paths/~1market~1subscriptions~1{id}/delete/responses/4XX/content/application~1problem+json/examples/clientError"]}}},{"code":"5XX","schemaId":"components/schemas/server-error","exampleIds":["paths/~1market~1subscriptions~1{id}/delete/responses/5XX/content/application~1problem+json/examples/serverError"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/server-error","exampleIds":["paths/~1market~1subscriptions~1{id}/delete/responses/5XX/content/application~1problem+json/examples/serverError"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/subscriptions/delete-subscription"}],"panels":[]}]},"httpPath":"/market/subscriptions/{id}"}],"content":{"contentType":"group","meta":{"name":"Subscriptions"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Subscriptions","showPageActions":true},{"nodeType":"markdoc","content":"Marketplace endpoints to manage a customer's subscriptions to partner products."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/market/subscriptions","summary":"List subscriptions","prefix":{"name":"get","color":"get"},"badges":[],"link":"/subscriptions/list-subscriptions","deprecated":false},{"title":"/market/subscriptions/{id}","summary":"Get subscription","prefix":{"name":"get","color":"get"},"badges":[],"link":"/subscriptions/get-subscription","deprecated":false},{"title":"/market/subscriptions/{id}","summary":"Delete subscription","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/subscriptions/delete-subscription","deprecated":false}]}]}]}]}}],"store":{"schemaStore":{"components/schemas/appointment-state":{"id":"components/schemas/appointment-state","kind":"json-schema","title":"appointment-state","data":{"type":"string","enum":["Pending","Confirmed","Arrived","In surgery","Completed","Cancelled","Did not attend"],"description":"Current state of the appointment.","example":"Pending"}},"components/schemas/entity-timestamps":{"id":"components/schemas/entity-timestamps","kind":"json-schema","title":"entity-timestamps","data":{"type":"object","required":["created_at","updated_at"],"properties":{"created_at":{"type":"string","format":"date-time","description":"When the resource was created (UTC, ISO 8601) in UTC.","example":"2024-01-15T09:30:00Z"},"updated_at":{"type":"string","format":"date-time","description":"When the resource was last updated (UTC, ISO 8601) in UTC.","example":"2024-06-20T14:05:22Z"}}}},"components/schemas/patient-ref":{"id":"components/schemas/patient-ref","kind":"json-schema","title":"patient-ref","data":{"type":"object","description":"The patient associated with the parent resource. Retrieve the full patient record for additional details.","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the patient.","example":"550e8400-e29b-41d4-a716-446655440000"},"first_name":{"type":"string","description":"Given (first) name as stored for the patient.","example":"Jane"},"middle_name":{"type":"string","nullable":true,"description":"Middle name or additional given name, when stored.","example":"Marie"},"last_name":{"type":"string","description":"Family (last) name as stored for the patient.","example":"Doe"}}}},"components/schemas/appointment-reason-ref":{"id":"components/schemas/appointment-reason-ref","kind":"json-schema","title":"appointment-reason-ref","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The reason for the appointment — for example an examination, a scale and polish, or a consultation. Retrieve the full appointment reason record for additional details."},"children":[]}]}]}],"required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the appointment reason.","example":"550e8400-e29b-41d4-a716-446655440002"},"name":{"type":"string","nullable":true,"description":"Display name of the appointment reason as shown in Dentally.","example":"Routine dental check-up.","readOnly":true}},"additionalProperties":false}},"components/schemas/practitioner-ref":{"id":"components/schemas/practitioner-ref","kind":"json-schema","title":"practitioner-ref","data":{"type":"object","description":"The practitioner (dentist, hygienist, or other clinical professional) associated with the parent resource. Retrieve the full practitioner record for additional details.","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the practitioner.","example":"550e8400-e29b-41d4-a716-446655440003"},"name":{"type":"string","nullable":true,"description":"Full display name of the practitioner.","example":"Dr. John Smith","readOnly":true}}}},"components/schemas/created_at":{"id":"components/schemas/created_at","kind":"json-schema","title":"created_at","data":{"type":"string","format":"date-time","description":"When the resource was created (UTC, ISO 8601) in UTC.","example":"2024-01-15T09:30:00Z"}},"components/schemas/updated_at":{"id":"components/schemas/updated_at","kind":"json-schema","title":"updated_at","data":{"type":"string","format":"date-time","description":"When the resource was last updated (UTC, ISO 8601) in UTC.","example":"2024-06-20T14:05:22Z"}},"components/schemas/appointment":{"id":"components/schemas/appointment","kind":"json-schema","title":"appointment","data":{"allOf":[{"$ref":"#/components/schemas/entity-timestamps"},{"x-tags":["Appointment"]},{"type":"object","description":"An appointment record representing a scheduled or completed appointment for a patient at a practice.","required":["id","patient","start_time","finish_time","duration_minutes","site_id","practitioner"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the appointment.","example":"123e4567-e89b-12d3-a456-426614174000","readOnly":true},"patient":{"$ref":"#/components/schemas/patient-ref"},"start_time":{"type":"string","format":"date-time","description":"Start time of the appointment in ISO 8601 format in UTC.","example":"2026-01-01T09:00:00Z"},"finish_time":{"type":"string","format":"date-time","description":"Finish time of the appointment in ISO 8601 format in UTC.","example":"2026-01-01T10:00:00Z"},"duration_minutes":{"type":"integer","description":"Duration of the appointment in minutes.","example":60,"readOnly":true},"reason":{"type":"object","nullable":true,"allOf":[{"$ref":"#/components/schemas/appointment-reason-ref"}]},"notes":{"type":"string","nullable":true,"description":"Additional notes about the appointment.","example":"Patient requested a morning appointment."},"practitioner":{"type":"object","nullable":true,"allOf":[{"$ref":"#/components/schemas/practitioner-ref"}]},"site_id":{"type":"string","format":"uuid","description":"Identifier of the site where the appointment is scheduled.","example":"7c9e6679-7425-40de-944b-e07fc1f90ae7","readOnly":true},"state":{"$ref":"#/components/schemas/appointment-state","readOnly":true},"cancelled_at":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp of when the appointment was cancelled, if applicable.","example":"2026-01-02T12:00:00Z","readOnly":true},"payment_plan_id":{"type":"string","format":"uuid","nullable":true,"description":"Identifier of the payment plan associated with this appointment, if applicable.","example":"6ba7b810-9dad-11d1-80b4-00c04fd430c8"},"room_id":{"type":"string","format":"uuid","nullable":true,"description":"Identifier of the room where the appointment is scheduled, if applicable.","example":"550e8400-e29b-41d4-a716-446655440004"},"created_at":{"$ref":"#/components/schemas/created_at"},"updated_at":{"$ref":"#/components/schemas/updated_at"}},"additionalProperties":false}]}},"components/schemas/meta":{"id":"components/schemas/meta","kind":"json-schema","title":"meta","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cursor-based pagination metadata. When an operation supports paging, pass "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"cursor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" from this object on a subsequent request to continue after the current page."},"children":[]}]}]}],"required":["cursor"],"properties":{"cursor":{"type":"string","nullable":true,"description":"Opaque pagination cursor for the next page. Clients should treat this value as an opaque token.\n","example":"eyJjdXJzb3IiOiJuZXh0In0"}},"additionalProperties":false}},"components/schemas/problem-details":{"id":"components/schemas/problem-details","kind":"json-schema","title":"problem-details","data":{"type":"object","additionalProperties":true,"minProperties":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The Problem Details JSON Object ["},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc7807"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC7807"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"]."},"children":[]}]}]}],"properties":{"type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A URI reference ["},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/html/rfc3986"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC3986"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"] that"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"identifies the problem type. It should provide human-readable"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"documentation for the problem type. When this member is not present, its"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"value is assumed to be \"about:blank\"."},"children":[]}]}]}],"format":"uri","example":"https://httpstatuses.io/400"},"title":{"type":"string","description":"A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization.","example":"Bad Request"},"status":{"type":"integer","description":"The HTTP status code.","minimum":400,"maximum":599,"example":400},"detail":{"type":"string","description":"A human-readable explanation specific to this occurrence of the problem.","example":"Missing required field 'address'"},"instance":{"type":"string","description":"A URI reference that identifies the specific occurrence of the problem.  It may or may not yield further information if de-referenced.","example":"/v2/sites"}},"example":{"type":"https://httpstatuses.io/400","title":"Bad Request","status":400,"detail":"Missing required field 'address'","instance":"/api/v1/physical-post/letters","traceId":"00-84c1fd4063c38d9f3900d06e56542d48-85d1d4-00"}}},"components/schemas/bad-request":{"id":"components/schemas/bad-request","kind":"json-schema","title":"bad-request","data":{"allOf":[{"$ref":"#/components/schemas/problem-details"}],"example":{"type":"https://httpstatuses.io/400","title":"The Name field is required.","detail":"The Name field is required.","status":400,"traceId":"00-84c1fd4063c38d9f3900d06e56542d48-85d1d4-00"}}},"components/schemas/unauthorized":{"id":"components/schemas/unauthorized","kind":"json-schema","title":"unauthorized","data":{"allOf":[{"$ref":"#/components/schemas/problem-details"}],"example":{"type":"https://httpstatuses.io/401","title":"Unauthorized","status":401,"traceId":"48DCED5A-79E0-4205-9392-24EB70E391BA"}}},"components/schemas/server-error":{"id":"components/schemas/server-error","kind":"json-schema","title":"server-error","data":{"allOf":[{"$ref":"#/components/schemas/problem-details"}],"example":{"type":"https://httpstatuses.io/500","title":"Internal Server Error","detail":"An unexpected error occurred while processing your request.","status":500,"traceId":"638736D7-ACFB-4210-BFFF-DBD4A6C31569"}}},"components/schemas/create-appointment-request":{"id":"components/schemas/create-appointment-request","kind":"json-schema","title":"create-appointment-request","data":{"type":"object","description":"Fields accepted when creating an appointment.","required":["patient_id","practitioner_id","start_time","reason_id"],"properties":{"patient_id":{"type":"string","format":"uuid","description":"The UUID of the patient associated with the appointment. The patient must be active within the practice and not blocked from booking appointments."},"practitioner_id":{"type":"string","format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The UUID of an active practitioner within the practice. The appointment site ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"site_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") is determined from this practitioner's assigned site."},"children":[]}]}]}]},"room_id":{"type":"string","format":"uuid","nullable":true,"description":"(Optional) The UUID of the room where the appointment will take place. If provided, this should correspond to a room within the specified site."},"start_time":{"type":"string","format":"date-time","description":"The start time of the appointment in ISO 8601 format. The time should be specified in UTC."},"duration_minutes":{"type":"integer","maximum":120,"description":"(Optional) The duration of the appointment in minutes. If omitted, the practice's minimum appointment duration is used. When provided, must be greater than or equal to the practice's minimum appointment duration and less than or equal to 120 minutes."},"reason_id":{"type":"string","format":"uuid","description":"The UUID of an active appointment reason configured for the practice."},"notes":{"type":"string","nullable":true,"description":"(Optional) Additional notes or comments about the appointment."}},"additionalProperties":false}},"components/schemas/unprocessable-entity":{"id":"components/schemas/unprocessable-entity","kind":"json-schema","title":"unprocessable-entity","data":{"allOf":[{"$ref":"#/components/schemas/problem-details"}],"example":{"type":"https://httpstatuses.io/422","title":"Unprocessable Entity","status":422,"detail":"start_time must be before finish_time.","traceId":"48DCED5A-79E0-4205-9392-24EB70E391BA"}}},"components/schemas/not-found":{"id":"components/schemas/not-found","kind":"json-schema","title":"not-found","data":{"allOf":[{"$ref":"#/components/schemas/problem-details"}],"example":{"type":"https://httpstatuses.io/404","title":"Not Found","detail":"Could not find a practice matching id X.","status":404,"traceId":"19565C8F-29D3-44E4-9457-0EE49587E3E3"}}},"components/schemas/update-appointment-request":{"id":"components/schemas/update-appointment-request","kind":"json-schema","title":"update-appointment-request","data":{"type":"object","description":"Fields accepted when updating an appointment. Only the provided fields will be modified; omitted fields remain unchanged.","properties":{"start_time":{"type":"string","format":"date-time","description":"The new start time of the appointment in ISO 8601 format. The time should be specified in UTC."},"duration_minutes":{"type":"integer","maximum":120,"description":"(Optional) The duration of the appointment in minutes. When provided, must be greater than or equal to the practice's minimum appointment duration and less than or equal to 120 minutes."},"reason_id":{"type":"string","format":"uuid","description":"The UUID of an active appointment reason configured for the practice."}},"additionalProperties":false}},"components/schemas/cancel-appointment-request":{"id":"components/schemas/cancel-appointment-request","kind":"json-schema","title":"cancel-appointment-request","data":{"type":"object","description":"Fields accepted when cancelling an appointment.","required":["cancellation_reason_id"],"properties":{"cancellation_reason_id":{"type":"string","format":"uuid","description":"The UUID of the cancellation reason. This should correspond to a cancellation reason configured for the practice."}},"additionalProperties":false}},"components/schemas/appointment-reason":{"id":"components/schemas/appointment-reason","kind":"json-schema","title":"appointment-reason","data":{"allOf":[{"$ref":"#/components/schemas/entity-timestamps"},{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"appointment reason"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" describes the purpose of a patient visit (for example an examination, a scale and polish, or a consultation)."},"children":[]}]}]}],"required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for this appointment reason within the practice.","example":"4EE0FA3E-12F4-4942-9347-1702EB89EBCC"},"name":{"type":"string","description":"The name of the appointment reason as displayed in Dentally.","example":"Exam + Scale & Polish"},"is_active":{"type":"boolean","description":"Whether the appointment reason is active and available for use in Dentally.","example":true},"created_at":{"$ref":"#/components/schemas/created_at"},"updated_at":{"$ref":"#/components/schemas/updated_at"}},"additionalProperties":false}]}},"components/schemas/appointment-cancellation-reason":{"id":"components/schemas/appointment-cancellation-reason","kind":"json-schema","title":"appointment-cancellation-reason","data":{"allOf":[{"$ref":"#/components/schemas/entity-timestamps"},{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"appointment cancellation reason"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" describes and tracks both who initiated the cancellation, and what the reason for it was. This information is aggregated into reporting for the practice."},"children":[]}]}]}],"required":["id","name","type"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the appointment cancellation reason within the practice.","example":"A5AD2D60-B4A1-4092-B31F-3EF9577588E6"},"name":{"type":"string","description":"The appointment cancellation reason as displayed in Dentally.","example":"Patient - Illness"},"type":{"type":"string","enum":["cancelled","did_not_attend"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The underlying type or outcome of an appointment cancellation reason ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"cancelled"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"did_not_attend"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"example":"cancelled"},"is_active":{"type":"boolean","nullable":true,"description":"Whether the appointment cancellation reason is active and available for use in Dentally.","example":true},"created_at":{"$ref":"#/components/schemas/created_at"},"updated_at":{"$ref":"#/components/schemas/updated_at"}},"additionalProperties":false}]}},"components/schemas/address":{"id":"components/schemas/address","kind":"json-schema","title":"address","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Physical mailing or street address for a location. Field meanings depend on the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"country or region (for example, what appears in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"administrative_area"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in one"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"country may differ from another). Every field may be "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if it has not been"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"supplied; the object is still returned so clients can rely on a stable shape."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When provided, "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"fully replaces"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" the patient's stored address: each field is set to the value sent."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"update"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" operations, the address is replacing the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"previous value for all fields. Omit "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" entirely to leave the stored address unchanged."},"children":[]}]}]}],"properties":{"address_line_1":{"type":"string","nullable":true,"description":"Primary street line (building number, street name, or equivalent).","example":"42 High Street"},"address_line_2":{"type":"string","nullable":true,"description":"Secondary street line (flat, suite, district, or equivalent), if applicable.","example":"Suite 2"},"address_line_3":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Third address line. Meaning varies by country: in some regions (for example Australia and New Zealand) this line typically holds "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"suburb"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; elsewhere it may be any extra line needed after "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address_line_1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"address_line_2"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"Suburbia"},"locality":{"type":"string","nullable":true,"description":"City, town, or other local place name, as used in that country.","example":"London"},"administrative_area":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"First-level subdivision when applicable for that country (for example state, province, county, or region—whichever is conventional for that address)."},"children":[]}]}]}],"example":"Greater London"},"postal_code":{"type":"string","nullable":true,"description":"Postal or ZIP code for that country, in the format stored for the address (not normalised to a single global format).","example":"EC1A 1BB"}},"additionalProperties":false}},"components/schemas/ethnicity":{"id":"components/schemas/ethnicity","kind":"json-schema","title":"ethnicity","data":{"type":"string","enum":["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","97","98","99"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"NHS ethnicity code for the patient, expressed as a two-digit zero-padded string"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(for example "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"01\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Ethnicity is collected for UK practices that support patient"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ethnicity (England, Wales, Northern Ireland, Channel Islands, and Isle of Man)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Post–April 2026 codes"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (England and Wales practices with NHS contract reform)"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"01"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — White: English or Welsh or Scottish or Northern Irish or British"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"02"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — White: Irish"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"03"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — White: Any other White background"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"04"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — Mixed multiple ethnic groups: White and Black Caribbean"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"05"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — Mixed multiple ethnic groups: White and Black African"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"06"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — Mixed multiple ethnic groups: White and Asian"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"07"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — Mixed multiple ethnic groups: Any other Mixed or Multiple ethnic background"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"08"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — Asian or Asian British: Indian"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"09"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — Asian or Asian British: Pakistani"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"10"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — Asian or Asian British: Bangladeshi"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"11"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — Asian or Asian British: Any other Asian background"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"12"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — Black or African or Caribbean or Black British: Caribbean"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"13"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — Black or African or Caribbean or Black British: African"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"14"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — Black or African or Caribbean or Black British: Other Black or African or Caribbean background"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"15"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — Asian or Asian British: Chinese"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"16"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — Other Ethnic Group: Any other Ethnic Group"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"17"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — White: Gypsy or Irish Traveller"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"18"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — Other Ethnic Group: Arab"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"97"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — Other: Ethnicity Not Stated"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"98"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — Other: Patient Ethnicity Unknown"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"99"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — Other: Patient declined"},"children":[]}]}]}]}],"example":"01"}},"components/schemas/biological-sex":{"id":"components/schemas/biological-sex","kind":"json-schema","title":"biological-sex","data":{"type":"string","enum":["male","female"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Biological sex recorded for the patient ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"male"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"female"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"example":"male"}},"components/schemas/phone_type":{"id":"components/schemas/phone_type","kind":"json-schema","title":"phone_type","data":{"type":"string","enum":["home","mobile","work"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Home, mobile, or work — how Dentally categorises patient phone numbers."},"children":[]}]}]}],"example":"home"}},"components/schemas/phone":{"id":"components/schemas/phone","kind":"json-schema","title":"phone","data":{"type":"object","description":"A single contact number (home, mobile, or work) with optional country and normalised forms, aligned with how Dentally stores phone fields on the patient record.","required":["phone_type"],"properties":{"phone_type":{"allOf":[{"$ref":"#/components/schemas/phone_type"}],"description":"Which patient phone slot this row maps to in Dentally."},"phone_number":{"type":"string","nullable":true,"description":"Raw number as stored for the practice (not necessarily E.164).","example":"01234567890"},"phone_country":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ISO-style country code for interpreting "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"phone_number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", when set."},"children":[]}]}]}],"example":"NZ"},"phone_number_normalized":{"type":"string","nullable":true,"description":"Normalised representation (for example E.164) when available.","example":"+641234567890"}},"additionalProperties":false}},"components/schemas/patient-communication":{"id":"components/schemas/patient-communication","kind":"json-schema","title":"patient-communication","data":{"type":"object","description":"Patient communication and marketing preferences.","required":["is_marketing_enabled","is_email_enabled","is_sms_enabled"],"properties":{"is_marketing_enabled":{"type":"boolean","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether the patient accepts marketing communications; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if unspecified."},"children":[]}]}]}],"example":true},"is_email_enabled":{"type":"boolean","description":"Whether the patient accepts email communications.","example":true},"is_sms_enabled":{"type":"boolean","description":"Whether the patient accepts SMS communications.","example":false}},"additionalProperties":false}},"components/schemas/patient-recall-method":{"id":"components/schemas/patient-recall-method","kind":"json-schema","title":"patient-recall-method","data":{"type":"string","enum":["letter","sms","email","phone"],"description":"Preferred method for patient recall communications.","example":"email"}},"components/schemas/patient-recall":{"id":"components/schemas/patient-recall","kind":"json-schema","title":"patient-recall","data":{"type":"object","description":"Patient recall schedule and preferred contact method.","required":["dentist","hygienist","method"],"properties":{"dentist":{"type":"object","description":"Dentist recall schedule.","required":["date","interval_months"],"properties":{"date":{"type":"string","format":"date","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Next dentist recall date ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"); "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when not scheduled."},"children":[]}]}]}],"example":"2026-03-15"},"interval_months":{"type":"integer","minimum":0,"maximum":24,"description":"Recall interval in months.","example":6}},"additionalProperties":false},"hygienist":{"type":"object","description":"Hygienist recall schedule.","required":["date","interval_months"],"properties":{"date":{"type":"string","format":"date","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Next hygienist recall date ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"); "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when not scheduled."},"children":[]}]}]}],"example":"2026-04-01"},"interval_months":{"type":"integer","minimum":0,"maximum":24,"description":"Recall interval in months.","example":6}},"additionalProperties":false},"method":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Preferred recall contact method; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if unspecified."},"children":[]}]}]}],"allOf":[{"$ref":"#/components/schemas/patient-recall-method"}]}},"additionalProperties":false}},"components/schemas/patient-archived-reason":{"id":"components/schemas/patient-archived-reason","kind":"json-schema","title":"patient-archived-reason","data":{"type":"string","nullable":true,"enum":["no_reason_given","deceased","lapsed","duplicate","discharged_failed_to_attend","discharged_no_longer_meets_criteria","discharged_treatment_complete","legal_request_to_remove","patient_in_arrears","patient_moved_away","patient_not_happy_with_service","patient_opted_out_due_to_cost","referral_patient","test_or_created_in_error","transferred_to_another_provider",null],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Reason a patient record was archived."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the patient is active or no reason is recorded."},"children":[]}]}]}],"example":"lapsed","x-enumDescriptions":{"null":"No archive reason is recorded; returned for active patients or when the reason is unset.","no_reason_given":"Patient was archived without a specific reason recorded.","deceased":"Patient was archived because they are deceased.","lapsed":"Patient was archived due to lapse from care.","duplicate":"Patient was archived as a duplicate record.","discharged_failed_to_attend":"Patient was discharged for repeated failure to attend appointments.","discharged_no_longer_meets_criteria":"Patient was discharged because they no longer meet practice criteria.","discharged_treatment_complete":"Patient was discharged after treatment was completed.","legal_request_to_remove":"Patient was archived following a legal request to remove their record.","patient_in_arrears":"Patient was archived while in arrears.","patient_moved_away":"Patient was archived because they moved away from the area.","patient_not_happy_with_service":"Patient was archived because they were not happy with the service.","patient_opted_out_due_to_cost":"Patient was archived because they opted out due to cost.","referral_patient":"Patient was archived as a referral patient.","test_or_created_in_error":"Patient was archived because the record was a test entry or created in error.","transferred_to_another_provider":"Patient was archived because they transferred to another provider."}}},"components/schemas/title":{"id":"components/schemas/title","kind":"json-schema","title":"title","data":{"type":"string","enum":["Mr","Mrs","Miss","Ms","Dr","Master","Prof","Hon","Rev","Sir","Lady","Lord","Earl","Judge","Dame"],"description":"The different patient titles supported by Dentally.","example":"Ms"}},"components/schemas/patient":{"id":"components/schemas/patient","kind":"json-schema","title":"patient","data":{"allOf":[{"$ref":"#/components/schemas/entity-timestamps"},{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"patient"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is a person registered with a practice: demographics, contact details, care preferences, and links to sites and payment plans."},"children":[]}]}]}],"required":["id","first_name","last_name","date_of_birth","title","ethnicity","payment_plan_id","site_id","address","phones"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for this patient within the practice.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"is_active":{"type":"boolean","nullable":true,"description":"Whether the patient record is active;","example":true},"address":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Patient postal address. See "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"components/schemas/address.yml"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for field meanings."},"children":[]}]}]}],"allOf":[{"$ref":"#/components/schemas/address"}]},"date_of_birth":{"type":"string","format":"date","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Date of birth in ISO 8601 calendar date form ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"example":"1990-04-12"},"dentist_id":{"type":"string","format":"uuid","nullable":true,"description":"Identifier of the dentist associated with this patient for recall or care routing.","example":"550e8400-e29b-41d4-a716-446655440001"},"email_address":{"type":"string","nullable":true,"description":"Primary email address for contact.","example":"jane.doe@example.com"},"ethnicity":{"allOf":[{"$ref":"#/components/schemas/ethnicity"}]},"first_name":{"type":"string","description":"Given (first) name as stored for the patient.","example":"Jane"},"middle_name":{"type":"string","nullable":true,"description":"Middle name or additional given name, when stored.","example":"Marie"},"last_name":{"type":"string","description":"Family (last) name as stored for the patient.","example":"Doe"},"family_id":{"type":"string","format":"uuid","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identifier linking this patient to a family or household group when used by the practice; otherwise "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"660e8400-e29b-41d4-a716-446655440003"},"biological_sex":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Biological sex when set on the patient record; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when unknown or not applicable."},"children":[]}]}]}],"allOf":[{"$ref":"#/components/schemas/biological-sex"}]},"phones":{"type":"array","description":"Home, mobile, and work contact numbers from the patient record.","items":{"$ref":"#/components/schemas/phone"}},"hygienist_id":{"type":"string","format":"uuid","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identifier of the hygienist associated with this patient for recall or care routing; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if not assigned."},"children":[]}]}]}],"example":"550e8400-e29b-41d4-a716-446655440004"},"payment_plan_id":{"type":"string","format":"uuid","description":"Identifier of the payment plan assigned to this patient.","example":"6ba7b810-9dad-11d1-80b4-00c04fd430c8"},"preferred_name":{"type":"string","nullable":true,"description":"Name the patient prefers to be called, when different from formal names.","example":"Janey"},"preferred_phone_type":{"type":"string","nullable":true,"description":"Preferred phone type for contact.","allOf":[{"$ref":"#/components/schemas/phone_type"}],"example":"mobile"},"is_appointment_booking_prevented":{"type":"boolean","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", online or automated appointment booking may be blocked for this patient per practice rules."},"children":[]}]}]}],"example":false},"communication":{"type":"object","nullable":true,"description":"Patient communication and marketing preferences.","allOf":[{"$ref":"#/components/schemas/patient-communication"}]},"recall":{"type":"object","nullable":true,"description":"Patient recall schedule and preferred contact method.","allOf":[{"$ref":"#/components/schemas/patient-recall"}]},"archived_reason":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Reason the patient was archived; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the patient is active or no reason is recorded."},"children":[]}]}]}],"allOf":[{"$ref":"#/components/schemas/patient-archived-reason"}]},"is_bad_debtor":{"type":"boolean","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether the patient is flagged as a bad debtor; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if unspecified."},"children":[]}]}]}],"example":false},"site_id":{"type":"string","format":"uuid","description":"Default or primary site (location) this patient is associated with.","example":"7c9e6679-7425-40de-944b-e07fc1f90ae7"},"title":{"$ref":"#/components/schemas/title"},"created_at":{"$ref":"#/components/schemas/created_at"},"updated_at":{"$ref":"#/components/schemas/updated_at"}},"additionalProperties":false}]}},"components/schemas/create-patient-request":{"id":"components/schemas/create-patient-request","kind":"json-schema","title":"create-patient-request","data":{"type":"object","description":"Fields accepted when creating a new patient. Required attributes cover the core demographic information needed to register a patient record.","required":["first_name","last_name","date_of_birth","ethnicity","site_id","title"],"properties":{"first_name":{"type":"string","example":"Jane"},"last_name":{"type":"string","example":"Doe"},"date_of_birth":{"type":"string","format":"date","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Date of birth in ISO 8601 format ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"example":"1990-04-12"},"ethnicity":{"allOf":[{"$ref":"#/components/schemas/ethnicity"}]},"site_id":{"type":"string","format":"uuid","example":"7c9e6679-7425-40de-944b-e07fc1f90ae7"},"payment_plan_id":{"type":"string","format":"uuid","description":"Payment plan for the patient. When not provided, the default payment plan for the given site is applied.","example":"6ba7b810-9dad-11d1-80b4-00c04fd430c8"},"title":{"$ref":"#/components/schemas/title"},"biological_sex":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Maps to the patient "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"gender"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field at creation time."},"children":[]}]}]}],"allOf":[{"$ref":"#/components/schemas/biological-sex"}]},"email_address":{"type":"string","nullable":true,"description":"Primary email address for contact.","example":"jane.doe@example.com"},"address":{"allOf":[{"$ref":"#/components/schemas/address"}]},"phones":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Contact numbers ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"phone_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"phone_number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"phone_country"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Each "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"phone_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" maps to home, work, or mobile on the patient record."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/phone"}}},"additionalProperties":false}},"components/schemas/update-patient-request":{"id":"components/schemas/update-patient-request","kind":"json-schema","title":"update-patient-request","data":{"type":"object","description":"Fields to update on an existing patient. Omitted members are left unchanged.","properties":{"first_name":{"type":"string","description":"New given (first) name when updating.","example":"Jane"},"last_name":{"type":"string","description":"New family (last) name when updating.","example":"Doe"},"date_of_birth":{"type":"string","format":"date","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"New date of birth in ISO 8601 format ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DD"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"example":"1990-04-12"},"ethnicity":{"allOf":[{"$ref":"#/components/schemas/ethnicity"}]},"site_id":{"type":"string","format":"uuid","description":"New default site (location) for the patient when changing association.","example":"7c9e6679-7425-40de-944b-e07fc1f90ae7"},"payment_plan_id":{"type":"string","format":"uuid","description":"New payment plan identifier when reassigning the patient's plan.","example":"6ba7b810-9dad-11d1-80b4-00c04fd430c8"},"title":{"$ref":"#/components/schemas/title"},"biological_sex":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Maps to the patient "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"gender"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field when updating."},"children":[]}]}]}],"allOf":[{"$ref":"#/components/schemas/biological-sex"}]},"email_address":{"type":"string","nullable":true,"description":"Primary email address for contact.","example":"jane.doe@example.com"},"address":{"allOf":[{"$ref":"#/components/schemas/address"}]},"phones":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Contact numbers ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"phone_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"phone_number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"phone_country"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Each "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"phone_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" maps to home, work, or mobile on the patient record."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/phone"}}},"additionalProperties":false}},"components/schemas/patient-account":{"id":"components/schemas/patient-account","kind":"json-schema","title":"patient-account","data":{"allOf":[{"$ref":"#/components/schemas/entity-timestamps"},{"x-tags":["Account"]},{"type":"object","description":"The money position of a patient account: what the patient owes the practice, or what the practice holds in credit for them. All amounts are signed. A negative amount means money is owed to the practice. A positive amount means the account is in credit.","required":["owning_patient_id","balance_amount","patient_balance_amount","pending_payments_amount","deposit_amount"],"properties":{"owning_patient_id":{"type":"string","format":"uuid","description":"Patient who owns the account. When this differs from the patient requested in the path, the requested patient shares this account.","example":"550e8400-e29b-41d4-a716-446655440004"},"balance_amount":{"type":"number","description":"Total balance of the account. This covers the patient's own balance, pending payments and deposits. Negative when the account owes the practice, positive when it is in credit.","example":-125.5},"patient_balance_amount":{"type":"number","description":"The part of the balance the patient is responsible for, excluding pending payments and deposits. Negative when the patient owes the practice, positive when the patient is in credit.","example":-100.5},"pending_payments_amount":{"type":"number","description":"Amounts the practice is waiting to receive from insurers or other third parties. Zero or negative, because the amounts are still owed to the practice.","example":-25},"deposit_amount":{"type":"number","description":"Value of paid deposits not yet used. Zero for practices that do not use deposits.","example":0},"created_at":{"$ref":"#/components/schemas/created_at"},"updated_at":{"$ref":"#/components/schemas/updated_at"}},"additionalProperties":false}]}},"components/schemas/practitioner":{"id":"components/schemas/practitioner","kind":"json-schema","title":"practitioner","data":{"allOf":[{"$ref":"#/components/schemas/entity-timestamps"},{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practitioner"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" at the practice (dentist, hygienist, or other practice professional)."},"children":[]}]}]}],"required":["id","user_id","site_id"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the practitioner.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"name":{"type":"string","nullable":true,"description":"Full display name of the linked user.","example":"Jane Doe"},"user_id":{"type":"string","format":"uuid","description":"Unique identifier of the user account associated with this practitioner","example":"6ba7b810-9dad-11d1-80b4-00c04fd430c8"},"site_id":{"type":"string","format":"uuid","description":"Unique identifier of the site where this practitioner primarily works, when set.","example":"7c9e6679-7425-40de-944b-e07fc1f90ae7"},"role":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The clinical role of this practitioner when they are a Dental Care"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Professional (DCP) — a clinician who supports or works alongside"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"dentists rather than practising as one."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When set, one of:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Therapist — performs a defined range of dental treatments"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(for example fillings, extractions of deciduous teeth, and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"preventive care) under a dentist's prescription."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Hygienist — focuses on preventive oral care, including scaling,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"polishing, and patient education."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Dental Nurse — assists the clinician chairside during treatment"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and supports patient care."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Clinical Technician — designs, fits, and maintains dentures"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and other removable dental appliances."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"null when the practitioner does not have a DCP role — most"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"commonly because they are a dentist, whose role is not represented"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"by this field."},"children":[]}]}]}]}],"example":"Hygienist"},"nhs_number":{"type":"string","nullable":true,"description":"NHS number stored on the practitioner record, when present.","example":"9998887777"},"gdc_number":{"type":"string","nullable":true,"description":"General Dental Council registration number or regional equivalent (for example provider or payee number), when present on the practitioner record.","example":"123456"},"created_at":{"$ref":"#/components/schemas/created_at"},"updated_at":{"$ref":"#/components/schemas/updated_at"}},"additionalProperties":false}]}},"components/schemas/availability-slot":{"id":"components/schemas/availability-slot","kind":"json-schema","title":"availability-slot","data":{"type":"object","description":"A bookable availability window for a practitioner within the requested date-time range. Each slot represents available time.","required":["start_time","finish_time","practitioner_id"],"properties":{"start_time":{"type":"string","format":"date-time","description":"Inclusive start of the availability slot.","example":"2031-12-01T09:00:00+00:00"},"finish_time":{"type":"string","format":"date-time","description":"Exclusive end of the availability slot.","example":"2031-12-01T10:00:00+00:00"},"practitioner_id":{"type":"string","format":"uuid","description":"Unique identifier of the practitioner this slot belongs to.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"}},"additionalProperties":false}},"components/schemas/rota-schedule-history":{"id":"components/schemas/rota-schedule-history","kind":"json-schema","title":"rota-schedule-history","data":{"allOf":[{"$ref":"#/components/schemas/entity-timestamps"},{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"snapshotted rota day"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for a practitioner: effective scheduled working hours and breaks for a single calendar date. Records are produced from the practice rota (including overrides active when the snapshot was taken) and are intended for historical reporting such as payroll hours."},"children":[]}]}]}],"required":["practitioner_id","date","is_available","breaks"],"properties":{"practitioner_id":{"type":"string","format":"uuid","description":"Unique identifier of the practitioner this history row belongs to.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"date":{"type":"string","format":"date","description":"Calendar date this rota snapshot applies to.","example":"2025-01-15"},"is_available":{"type":"boolean","description":"Whether the practitioner was scheduled as available for clinical work on this date.","example":true},"start_time":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Scheduled day start time ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"HH:MM"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"example":"09:00"},"finish_time":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Scheduled day finish time ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"HH:MM"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"example":"17:30"},"breaks":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Scheduled breaks on this date. Empty when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_available"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or there are no breaks."},"children":[]}]}]}],"items":{"type":"object","description":"A scheduled break on a rota day (for example lunch).","required":["name","start_time","finish_time"],"properties":{"name":{"type":"string","nullable":true,"description":"Display name of the break, when set.","example":"Lunch"},"start_time":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Break start time ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"HH:MM"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"example":"13:00"},"finish_time":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Break finish time ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"HH:MM"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"example":"14:00"}},"additionalProperties":false}},"created_at":{"$ref":"#/components/schemas/created_at"},"updated_at":{"$ref":"#/components/schemas/updated_at"}},"additionalProperties":false}]}},"components/schemas/site-contact-details":{"id":"components/schemas/site-contact-details","kind":"json-schema","title":"site-contact-details","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Public contact information for the site. Fields may be "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when not provided."},"children":[]}]}]}],"properties":{"email_address":{"type":"string","nullable":true,"format":"email","description":"General contact email for this location (for example reception or bookings).","example":"reception@example.com"},"phone_number":{"type":"string","nullable":true,"description":"Primary telephone number for this location, as stored (may include country or area codes; format is not guaranteed to be normalised).","example":"+44 20 7946 0958"},"website_url":{"type":"string","nullable":true,"description":"Public website for this location, if any (absolute URL as stored).","example":"https://www.example.com/dentally-high-street"}},"additionalProperties":false}},"components/schemas/site-opening-hours":{"id":"components/schemas/site-opening-hours","kind":"json-schema","title":"site-opening-hours","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Scheduled opening and closing times for one weekday. Times are in "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"local civil time"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for the site (not UTC). Rows belong to the site's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"opening_hours"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array, usually ordered "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sunday"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" through "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Saturday"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["weekday","open_at","close_at"],"properties":{"weekday":{"type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"description":"Calendar day this row describes.","example":"Monday"},"open_at":{"type":"string","nullable":true,"pattern":"^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Time the site opens on this weekday, "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"24-hour clock"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"HH:MM"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means not set or closed that day (see "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"close_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"example":"09:00"},"close_at":{"type":"string","nullable":true,"pattern":"^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Time the site stops accepting patients or closes on this weekday, "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"24-hour clock"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"HH:MM"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means not set or closed that day (see "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"open_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"example":"17:30"}},"additionalProperties":false}},"components/schemas/site":{"id":"components/schemas/site","kind":"json-schema","title":"site","data":{"allOf":[{"$ref":"#/components/schemas/entity-timestamps"},{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"site"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is a physical location belonging to a practice (for example a clinic or surgery)."},"children":[]}]}]}],"required":["id","name","address"],"properties":{"id":{"type":"string","format":"uuid","description":"Stable unique identifier for this site. Use this value when referring to the site in subsequent API calls.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"name":{"type":"string","description":"Human-readable name of the location as shown to patients or staff (for example the practice name at this address or a branch name).","example":"Dentally High Street"},"address":{"$ref":"#/components/schemas/address"},"contact_details":{"$ref":"#/components/schemas/site-contact-details"},"opening_hours":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Regular weekly schedule for this location. Entries are shown in order "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sunday"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" through "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Saturday"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Each entry lists that day's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"open_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"close_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"local time"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for the site. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" times mean hours are not published or the site is closed that day."},"children":[]}]}]}],"maxItems":7,"items":{"$ref":"#/components/schemas/site-opening-hours"}},"created_at":{"$ref":"#/components/schemas/created_at"},"updated_at":{"$ref":"#/components/schemas/updated_at"}},"additionalProperties":false}]}},"components/schemas/communication-message-type":{"id":"components/schemas/communication-message-type","kind":"json-schema","title":"communication-message-type","data":{"type":"string","enum":["appointment_reminder","appointment_confirmation","appointment_cancellation","task_reminder","feedback_request","marketing","estimate","invoice","fta","recall","patient_reply","payment_request","medical_history","unclassified"],"description":"The different types of communications that can be sent to patients.","x-enumDescriptions":{"appointment_reminder":"Communication sent to remind a patient of an upcoming appointment.","appointment_confirmation":"Communication sent to confirm a patient's appointment booking.","appointment_cancellation":"Communication sent to notify a patient of an appointment cancellation.","task_reminder":"Communication sent to remind a patient of a task they need to complete (e.g., fill out a form).","feedback_request":"Communication sent to request feedback from a patient after an appointment or interaction.","marketing":"Communication sent for marketing purposes, such as promotions or newsletters.","estimate":"Communication sent to provide a patient with an estimate for a treatment or procedure.","invoice":"Communication sent to provide a patient with an invoice for services rendered.","fta":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Communication sent to notify a patient of a missed appointment (FTA = \"Failure To Attend\")."},"children":[]}]}]}],"recall":"Communication sent to recall a patient for follow-up care or routine check-ups.","patient_reply":"Communication that is a reply from a patient, which may be received via certain channels and logged in the system.","payment_request":"Communication sent to request payment from a patient for a deposit or outstanding balance.","medical_history":"Communication sent to request or provide information about a patient's medical history.","unclassified":"Communication that does not fit into any of the other predefined categories."}}},"components/schemas/communication-sms-message-content":{"id":"components/schemas/communication-sms-message-content","kind":"json-schema","title":"communication-sms-message-content","data":{"type":"object","description":"Request payload for sending an SMS to a patient.","required":["patient_id","communication_channel","message_type","body"],"additionalProperties":false,"properties":{"patient_id":{"type":"string","format":"uuid","description":"ID of the patient who is the intended recipient of the communication."},"communication_channel":{"type":"string","enum":["sms"]},"message_type":{"$ref":"#/components/schemas/communication-message-type"},"site_id":{"type":"string","format":"uuid","description":"The ID of the site associated with the communication.","example":"123e4567-e89b-12d3-a456-426614174089"},"body":{"type":"string","maxLength":1600,"description":"The main plain text content of the SMS message.","example":"Your appointment is scheduled for tomorrow at 3 PM."}}}},"components/schemas/communication-email-message-content":{"id":"components/schemas/communication-email-message-content","kind":"json-schema","title":"communication-email-message-content","data":{"type":"object","description":"Request payload for sending an email to a patient.","required":["patient_id","communication_channel","message_type","subject"],"anyOf":[{"required":["body"]},{"required":["html_body"]}],"additionalProperties":false,"properties":{"patient_id":{"type":"string","format":"uuid","description":"ID of the patient who is the intended recipient of the communication."},"communication_channel":{"type":"string","enum":["email"]},"message_type":{"$ref":"#/components/schemas/communication-message-type"},"site_id":{"type":"string","format":"uuid","description":"The ID of the site associated with the communication.","example":"123e4567-e89b-12d3-a456-426614174089"},"body":{"type":"string","description":"The main plain text content of the email message.","maxLength":50000,"example":"Your appointment is scheduled for tomorrow at 3 PM."},"html_body":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The main HTML content of the email message."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If not provided, the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"body"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" content will be used as the HTML content as well."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A maximum of 50,000 characters of text is allowed for this property."},"children":[]},{"$$mdtype":"Node","type":"hardbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The character limit will apply to the text content only, and will not include HTML tags."},"children":[]}]}]}],"example":"<p>Your appointment is scheduled for tomorrow at 3 PM.</p>"},"subject":{"type":"string","nullable":true,"description":"Subject line for the email message.","example":"Appointment Reminder"}}}},"components/schemas/send-communication-request":{"id":"components/schemas/send-communication-request","kind":"json-schema","title":"send-communication-request","data":{"description":"Request object for sending a communication to a patient.","discriminator":{"propertyName":"communication_channel","mapping":{"sms":"#/components/schemas/communication-sms-message-content","email":"#/components/schemas/communication-email-message-content"}},"oneOf":[{"$ref":"#/components/schemas/communication-sms-message-content"},{"$ref":"#/components/schemas/communication-email-message-content"}]}},"components/schemas/resource_timestamps":{"id":"components/schemas/resource_timestamps","kind":"json-schema","title":"resource_timestamps","data":{"type":"object","properties":{"created_at":{"$ref":"#/components/schemas/created_at"},"updated_at":{"$ref":"#/components/schemas/updated_at"}}}},"components/schemas/communication-channel":{"id":"components/schemas/communication-channel","kind":"json-schema","title":"communication-channel","data":{"type":"string","enum":["sms","email","messaging_app","phone_call","letter"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The different communication channels supported by Dentally."},"children":[]},{"$$mdtype":"Node","type":"hardbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" ONLY \"sms\" and \"email\" can be used for sending communications to patients via the API."},"children":[]}]}]}],"x-enumDescriptions":{"email":"Communication sent via email.","sms":"Communication sent via SMS text message.","messaging_app":"Communication sent via a messaging app (e.g., WhatsApp).","phone_call":"Communication done via a phone call.","letter":"Communication sent via postal mail."}}},"components/schemas/external-communication-sms-content":{"id":"components/schemas/external-communication-sms-content","kind":"json-schema","title":"external-communication-sms-content","data":{"type":"object","description":"Request payload for sending an SMS to a patient.","required":["patient_id","communication_channel","direction","message_type","body"],"additionalProperties":false,"properties":{"patient_id":{"type":"string","format":"uuid","description":"ID of the patient who is the intended recipient of the communication."},"communication_channel":{"type":"string","enum":["sms"]},"direction":{"type":"string","enum":["inbound","outbound"],"description":"The direction of the communication.  \nInbound indicates that the communication was received from the patient, while \noutbound indicates that the communication was sent to the patient.\n"},"message_type":{"$ref":"#/components/schemas/communication-message-type"},"site_id":{"type":"string","format":"uuid","description":"The ID of the site associated with the communication.","example":"123e4567-e89b-12d3-a456-426614174089"},"body":{"type":"string","maxLength":1600,"description":"The main plain text content of the SMS message.","example":"Your appointment is scheduled for tomorrow at 3 PM."}}}},"components/schemas/external-communication-email-content":{"id":"components/schemas/external-communication-email-content","kind":"json-schema","title":"external-communication-email-content","data":{"type":"object","description":"Request payload for sending an email to a patient.","required":["patient_id","communication_channel","direction","message_type","subject"],"anyOf":[{"required":["body"]},{"required":["html_body"]}],"additionalProperties":false,"properties":{"patient_id":{"type":"string","format":"uuid","description":"ID of the patient who is the intended recipient of the communication."},"communication_channel":{"type":"string","enum":["email"]},"direction":{"type":"string","enum":["inbound","outbound"],"description":"The direction of the communication.  \nInbound indicates that the communication was received from the patient, while \noutbound indicates that the communication was sent to the patient.\n"},"message_type":{"$ref":"#/components/schemas/communication-message-type"},"site_id":{"type":"string","format":"uuid","description":"The ID of the site associated with the communication.","example":"123e4567-e89b-12d3-a456-426614174089"},"body":{"type":"string","description":"The main plain text content of the email message.","maxLength":50000,"example":"Your appointment is scheduled for tomorrow at 3 PM."},"html_body":{"type":"string","maxLength":100000,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The main HTML content of the email message."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If not provided, the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"body"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" content will be used as the HTML content as well."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A maximum of 100,000 characters of text is allowed for this property, including all html tags and their content."},"children":[]},{"$$mdtype":"Node","type":"hardbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A 50,000 character limit will also apply to the text content only, and will not include HTML tags."},"children":[]}]}]}],"example":"<p>Your appointment is scheduled for tomorrow at 3 PM.</p>"},"subject":{"type":"string","nullable":true,"description":"Subject line for the email message.","example":"Appointment Reminder"}}}},"components/schemas/external-communication-letter-content":{"id":"components/schemas/external-communication-letter-content","kind":"json-schema","title":"external-communication-letter-content","data":{"type":"object","description":"Request payload for logging that a letter was sent to a patient.","required":["patient_id","communication_channel","direction","message_type"],"anyOf":[{"required":["body"]},{"required":["body_link"]}],"additionalProperties":false,"properties":{"patient_id":{"type":"string","format":"uuid","description":"ID of the patient who was the recipient of the communication."},"communication_channel":{"type":"string","enum":["letter"]},"direction":{"type":"string","enum":["inbound","outbound"],"description":"The direction of the communication.  \nInbound indicates that the communication was received from the patient, while \noutbound indicates that the communication was sent to the patient.\n"},"message_type":{"$ref":"#/components/schemas/communication-message-type"},"site_id":{"type":"string","format":"uuid","description":"The ID of the site associated with the communication.","example":"123e4567-e89b-12d3-a456-426614174089"},"body":{"type":"string","description":"The plain text content of the letter.","maxLength":50000,"example":"Your appointment is scheduled for tomorrow at 3 PM."},"body_link":{"type":"string","format":"uri","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A link to the full content of the letter, which may be hosted on an external document storage service."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This can be used for letters that have content that exceeds typical size limits for API requests, or for letters that include rich formatting or attachments that cannot be represented in plain text."},"children":[]},{"$$mdtype":"Node","type":"hardbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"NOTE:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" This must be a URL that is accessible to the API service with appropriate authentication (e.g. a pre-signed URL for an object in cloud storage)."},"children":[]}]}]}],"maxLength":1600,"example":"https://example.com/letters/12345/content"}}}},"components/schemas/messaging-channel":{"id":"components/schemas/messaging-channel","kind":"json-schema","title":"messaging-channel","data":{"type":"string","enum":["whatsapp","messenger","signal","telegram","other"],"description":"The messaging channel that is/was used to send messages to patients.  This allows for rich media messages and interactive communication."}},"components/schemas/external-communication-messaging-app-content":{"id":"components/schemas/external-communication-messaging-app-content","kind":"json-schema","title":"external-communication-messaging-app-content","data":{"type":"object","description":"Request payload for logging that a was sent to a patient via messaging app.","required":["patient_id","communication_channel","direction","message_type","messaging_channel","body"],"additionalProperties":false,"properties":{"patient_id":{"type":"string","format":"uuid","description":"ID of the patient who was the recipient of the communication."},"communication_channel":{"type":"string","enum":["messaging_app"]},"direction":{"type":"string","enum":["inbound","outbound"],"description":"The direction of the communication.  \nInbound indicates that the communication was received from the patient, while \noutbound indicates that the communication was sent to the patient.\n"},"message_type":{"$ref":"#/components/schemas/communication-message-type"},"messaging_channel":{"$ref":"#/components/schemas/messaging-channel"},"site_id":{"type":"string","format":"uuid","description":"The ID of the site associated with the communication.","example":"123e4567-e89b-12d3-a456-426614174089"},"body":{"type":"string","description":"The main plain text content of the messaging app message.","maxLength":1600,"example":"Your appointment is scheduled for tomorrow at 3 PM."}}}},"components/schemas/external-communication-phone-call-content":{"id":"components/schemas/external-communication-phone-call-content","kind":"json-schema","title":"external-communication-phone-call-content","data":{"type":"object","description":"Request payload for logging that a phone call was made to a patient.","required":["patient_id","communication_channel","message_type","body"],"additionalProperties":false,"properties":{"patient_id":{"type":"string","format":"uuid","description":"ID of the patient who was the recipient of the communication."},"communication_channel":{"type":"string","enum":["phone_call"]},"direction":{"type":"string","enum":["inbound","outbound"],"description":"The direction of the communication.  \nInbound indicates that the communication was received from the patient, while \noutbound indicates that the communication was sent to the patient.\n"},"message_type":{"$ref":"#/components/schemas/communication-message-type"},"site_id":{"type":"string","format":"uuid","description":"The ID of the site associated with the communication.","example":"123e4567-e89b-12d3-a456-426614174089"},"body":{"type":"string","description":"A summary of the phone call with the patient, which may include details such as whether the call was answered or went to voicemail, and any key information that was communicated during the call.  \n","maxLength":1600,"example":"Left a voicemail reminding the patient of their appointment tomorrow at 3 PM."}}}},"components/schemas/external-communication-request":{"id":"components/schemas/external-communication-request","kind":"json-schema","title":"external-communication-request","data":{"description":"Request object for creating an external communication to a patient.","discriminator":{"propertyName":"communication_channel","mapping":{"sms":"#/components/schemas/external-communication-sms-content","email":"#/components/schemas/external-communication-email-content","letter":"#/components/schemas/external-communication-letter-content","messaging_app":"#/components/schemas/external-communication-messaging-app-content","phone_call":"#/components/schemas/external-communication-phone-call-content"}},"oneOf":[{"$ref":"#/components/schemas/external-communication-sms-content"},{"$ref":"#/components/schemas/external-communication-email-content"},{"$ref":"#/components/schemas/external-communication-letter-content"},{"$ref":"#/components/schemas/external-communication-messaging-app-content"},{"$ref":"#/components/schemas/external-communication-phone-call-content"}]}},"components/schemas/fee-tier":{"id":"components/schemas/fee-tier","kind":"json-schema","title":"fee-tier","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A pricing tier for a fee. Quantity "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"5"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" represents five or more units."},"children":[]}]}]}],"required":["quantity","price","duration_minutes"],"properties":{"quantity":{"type":"integer","minimum":1,"maximum":5,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The number of units this tier applies to. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"5"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means five or more."},"children":[]}]}]}],"example":1},"price":{"type":"number","description":"The price for this tier.","example":55},"duration_minutes":{"type":"integer","description":"Appointment duration in minutes for this tier.","example":15}},"additionalProperties":false}},"components/schemas/fee":{"id":"components/schemas/fee","kind":"json-schema","title":"fee","data":{"allOf":[{"$ref":"#/components/schemas/entity-timestamps"},{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"fee"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is the price a practice charges for one treatment under one fee schedule, so the same treatment can cost different amounts on Private, a health provider, or a membership plan. Prices and appointment durations are exposed as five ordered "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tiers"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (quantities 1–4 and 5 or more) rather than flat "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_*"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"duration_*"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" fields."},"children":[]}]}]}],"required":["id","payment_plan_id","treatment_id","is_multiple_pricing","tiers"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the fee.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"payment_plan_id":{"type":"string","format":"uuid","description":"The payment plan (fee schedule) id of the resource.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"treatment_id":{"type":"string","format":"uuid","description":"The treatment id of the resource.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"is_multiple_pricing":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When true, all five quantity-based pricing tiers are returned. When false, only the first tier ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"quantity"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 1 / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"*_one"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" fields) is returned."},"children":[]}]}]}],"example":true},"tiers":{"type":"array","minItems":1,"maxItems":5,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pricing tiers for quantities 1, 2, 3, 4, and 5 (five or more), in that order. When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_multiple_pricing"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is true, all five tiers are included; when false, only the first tier is included."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/fee-tier"}},"created_at":{"$ref":"#/components/schemas/created_at"},"updated_at":{"$ref":"#/components/schemas/updated_at"}},"additionalProperties":false}]}},"components/schemas/fee-schedule-funding":{"id":"components/schemas/fee-schedule-funding","kind":"json-schema","title":"fee-schedule-funding","data":{"type":"object","description":"How treatment fees on this fee schedule are split between the patient and any third party, and whether Dentally treats the schedule as a national scheme.","required":["type","scheme","claim_timing"],"properties":{"type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Who is expected to pay fees charted against this fee schedule."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"private"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - the patient pays the full fee. No third-party claim is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"filed through this funding model (NHS dentistry uses a separate claims"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"process, even when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"scheme"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"nhs"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"co_payment_split"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - a third party meets part of the fee and the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"patient pays the remainder."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"insurance_funded"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - a third party is expected to meet the full fee."},"children":[]}]}]}]}],"enum":["private","co_payment_split","insurance_funded"],"example":"private"},"scheme":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"National care scheme Dentally recognises for this fee schedule, when one"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"applies. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the schedule is practice-defined and is not a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"recognised scheme."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Known values:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"nhs"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - UK NHS"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"nz_moh_sds"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - New Zealand Ministry of Health, Special Dental Services"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"nz_moh_ohsa"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - New Zealand Ministry of Health, Oral Health Services Adolescents"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"nz_moh_ohsa_hc"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - New Zealand Ministry of Health, High Caries"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"nz_acc"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - New Zealand Accident Compensation Corporation"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Additional values may be added in the future, this is an open set."},"children":[]}]}]}],"example":"nhs"},"claim_timing":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When a third-party claim is filed for items on this fee schedule. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"private"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", including NHS plans, because this funding model does"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"not file claims through this process."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"on_completion"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - a claim is filed when the treatment plan is completed."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"on_charge"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - a claim is filed each time treatment is charged."},"children":[]}]}]}]}],"enum":["on_completion","on_charge",null],"example":null}},"additionalProperties":false}},"components/schemas/fee-schedule-default-appointment-duration":{"id":"components/schemas/fee-schedule-default-appointment-duration","kind":"json-schema","title":"fee-schedule-default-appointment-duration","data":{"type":"object","description":"Default appointment lengths, in minutes, used when booking common visit types for a patient on this fee schedule (examination, scale and polish, both together, or emergency). These are booking defaults, not per-treatment durations.","required":["exam_minutes","scale_and_polish_minutes","exam_scale_and_polish_minutes","emergency_minutes"],"properties":{"exam_minutes":{"type":"integer","minimum":5,"maximum":120,"description":"Default length in minutes for an examination appointment.","example":10},"scale_and_polish_minutes":{"type":"integer","minimum":5,"maximum":120,"description":"Default length in minutes for a scale and polish appointment.","example":10},"exam_scale_and_polish_minutes":{"type":"integer","minimum":5,"maximum":120,"description":"Default length in minutes for a combined examination and scale and polish appointment.","example":20},"emergency_minutes":{"type":"integer","minimum":5,"maximum":120,"description":"Default length in minutes for an emergency appointment.","example":10}},"additionalProperties":false}},"components/schemas/fee-schedule-patient-default":{"id":"components/schemas/fee-schedule-patient-default","kind":"json-schema","title":"fee-schedule-patient-default","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Suggested recall and communication values for a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"new"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" patient assigned to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"this fee schedule. Dentally's own user interface copies these onto the patient"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"form when a receptionist creates a patient."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"They are never applied automatically by the API or by the server. Creating or"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"updating a patient with a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"payment_plan_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" leaves the patient's own "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"recall"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"communication"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" fields unchanged. Integrations that want the same starting"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"point as the Dentally UI must copy these values onto the patient record"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"themselves. Existing patients keep the values already stored on their record;"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"changing this fee schedule later does not cascade."},"children":[]}]}]}],"required":["recall","communication"],"properties":{"recall":{"type":"object","description":"Default recall schedule and contact method to copy onto a new patient.","required":["dentist_interval_months","hygienist_interval_months","method"],"properties":{"dentist_interval_months":{"type":"integer","minimum":0,"maximum":24,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Default months between dentist recalls. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means no dentist recall interval is suggested."},"children":[]}]}]}],"example":6},"hygienist_interval_months":{"type":"integer","minimum":0,"maximum":24,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Default months between hygienist recalls. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means no hygienist recall interval is suggested."},"children":[]}]}]}],"example":6},"method":{"$ref":"#/components/schemas/patient-recall-method"}},"additionalProperties":false},"communication":{"type":"object","description":"Default email and SMS contact flags to copy onto a new patient. These are not the patient's live preferences.","required":["is_email_enabled","is_sms_enabled"],"properties":{"is_email_enabled":{"type":"boolean","description":"Whether a new patient should default to accepting email contact.","example":true},"is_sms_enabled":{"type":"boolean","description":"Whether a new patient should default to accepting SMS contact.","example":true}},"additionalProperties":false}},"additionalProperties":false}},"components/schemas/fee-schedule-membership":{"id":"components/schemas/fee-schedule-membership","kind":"json-schema","title":"fee-schedule-membership","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Monthly membership (subscription) configuration for this fee schedule. A "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"monthly_fee"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means the schedule is not a membership plan. Membership is optional practice configuration; many fee schedules never use it."},"children":[]}]}]}],"required":["monthly_fee","exam_appointments_included","hygiene_appointments_included"],"properties":{"monthly_fee":{"type":"number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Monthly membership price. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the plan is not sold as a subscription."},"children":[]}]}]}],"example":0},"exam_appointments_included":{"type":"integer","minimum":0,"description":"Number of examination appointments included per year.","example":0},"hygiene_appointments_included":{"type":"integer","minimum":0,"description":"Number of hygiene appointments included per year.","example":0}},"additionalProperties":false}},"components/schemas/fee-schedule":{"id":"components/schemas/fee-schedule","kind":"json-schema","title":"fee-schedule","data":{"allOf":[{"$ref":"#/components/schemas/entity-timestamps"},{"x-tags":["Fee Schedule"]},{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"fee schedule"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is a practice-defined pricing and care category (for"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"example Private, NHS, or a membership plan), not an instalment schedule."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Dentally's user interface in the United Kingdom sometimes calls this a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"payment plan. Each patient is assigned one fee schedule. The schedule"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"determines default booking lengths, suggested recall and communication"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"values for new patients, how fees are funded, and optional membership"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"pricing."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Treatment prices live on a separate fee list and are not included here."},"children":[]}]}]}],"required":["id","name","patient_friendly_name","is_active","site_id","account_code","funding","default_appointment_duration","patient_default","membership"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for this fee schedule within the practice.","example":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","readOnly":true},"name":{"type":"string","description":"Staff-facing name of the fee schedule as shown in Dentally.","example":"Private"},"patient_friendly_name":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional name for patient-facing documents such as estimates. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when unset; callers that need a patient-facing label may fall back to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":null},"is_active":{"type":"boolean","description":"Whether the fee schedule is active. Inactive schedules remain assigned to existing patients but are not offered for new assignments in Dentally.","example":true},"site_id":{"type":"string","format":"uuid","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Site this fee schedule is tied to. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the schedule is shared across the practice."},"children":[]}]}]}],"example":"a11df716-ce65-4210-be87-8b8ec448f85c"},"account_code":{"type":"string","description":"Accounting code used for financial reporting.","example":"200"},"funding":{"$ref":"#/components/schemas/fee-schedule-funding"},"default_appointment_duration":{"$ref":"#/components/schemas/fee-schedule-default-appointment-duration"},"patient_default":{"$ref":"#/components/schemas/fee-schedule-patient-default"},"membership":{"$ref":"#/components/schemas/fee-schedule-membership"},"created_at":{"$ref":"#/components/schemas/created_at"},"updated_at":{"$ref":"#/components/schemas/updated_at"}},"additionalProperties":false}]}},"components/schemas/invoice":{"id":"components/schemas/invoice","kind":"json-schema","title":"invoice","data":{"allOf":[{"$ref":"#/components/schemas/entity-timestamps"},{"x-tags":["Invoice"]},{"type":"object","description":"An invoice record representing a billing statement for dental services provided to a patient at a practice.","required":["id","patient_id","site_id","reference","invoice_amount","invoice_amount_outstanding","patient_owed_amount","insurance_owed_amount","insurance_paid_amount","pending_payments_amount","tax_amount","discount_amount","is_paid","is_editable"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the invoice.","example":"123e4567-e89b-12d3-a456-426614174000"},"patient_id":{"type":"string","format":"uuid","description":"Unique identifier for the patient associated with this invoice.","example":"550e8400-e29b-41d4-a716-446655440004"},"site_id":{"type":"string","format":"uuid","description":"Unique identifier for the site associated with this invoice.","example":"7c9e6679-7425-40de-944b-e07fc1f90ae7"},"reference":{"type":"string","description":"Human readable invoice identifier.","example":"00103"},"invoice_amount":{"type":"number","description":"Total invoice amount.","example":150},"invoice_amount_outstanding":{"type":"number","description":"Total amount still owed for this invoice.","example":10},"patient_owed_amount":{"type":"number","description":"Amount the patient owes for this invoice.","example":15},"insurance_owed_amount":{"type":"number","description":"Amount the insurance provider owes for this invoice.","example":20},"insurance_paid_amount":{"type":"number","nullable":true,"description":"Amount the insurance provider has paid for this invoice.","example":30},"pending_payments_amount":{"type":"number","description":"Total pending payments by the insurance provider for this invoice.","example":20},"tax_amount":{"type":"number","description":"Total tax amount for this invoice.","example":20},"discount_amount":{"type":"number","description":"Total discount amount for this invoice.","example":20},"is_paid":{"type":"boolean","description":"Whether the invoice has been paid or not.","example":false},"paid_on":{"type":"string","format":"date","nullable":true,"description":"When the invoice was paid on.","example":"2019-05-14"},"is_editable":{"type":"boolean","description":"Whether the invoice can be edited or not.","example":false},"created_by":{"type":"string","format":"uuid","nullable":true,"description":"Identifier of the user who created the invoice, if applicable.","example":"550e8400-e29b-41d4-a716-446655440005"},"created_at":{"$ref":"#/components/schemas/created_at"},"updated_at":{"$ref":"#/components/schemas/updated_at"}},"additionalProperties":false}]}},"components/schemas/invoice-item-pricing":{"id":"components/schemas/invoice-item-pricing","kind":"json-schema","title":"invoice-item-pricing","data":{"type":"object","description":"Pricing amounts for an invoice item line.","required":["item_price","total_price"],"properties":{"discount_amount":{"type":"number","nullable":true,"description":"Discount applied to this line item.","example":10},"insurance_expected":{"type":"number","nullable":true,"description":"Amount expected from insurance for this line item.","example":10},"item_price":{"type":"number","description":"Unit price of the line item before quantity.","example":10},"total_price":{"type":"number","description":"Total price for the line item after quantity and discount.","example":10}},"additionalProperties":false}},"components/schemas/health-provider":{"id":"components/schemas/health-provider","kind":"json-schema","title":"health-provider","data":{"type":"object","description":"Health provider base schema.","required":["provider_name"],"properties":{"provider_name":{"type":"string","description":"The name of the health provider.","enum":["nhs","prsi","private"],"example":"nhs"}}}},"components/schemas/invoice-item-health-provider":{"id":"components/schemas/invoice-item-health-provider","kind":"json-schema","title":"invoice-item-health-provider","data":{"allOf":[{"$ref":"#/components/schemas/health-provider"},{"type":"object","description":"Health-provider details for an invoice item line.","required":["is_provider_charge"],"properties":{"is_provider_charge":{"type":"boolean","description":"Whether this line item is a charge associated with the health provider.","example":false}}}]}},"components/schemas/invoice-item":{"id":"components/schemas/invoice-item","kind":"json-schema","title":"invoice-item","data":{"allOf":[{"$ref":"#/components/schemas/entity-timestamps"},{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"invoice item"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" line on an invoice. Pricing amounts are nested under "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"pricing"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; health-provider charge information under "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"health_provider"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["id","pricing","health_provider","name","quantity","invoice_id"],"properties":{"id":{"type":"string","format":"uuid","description":"The id of the resource.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"pricing":{"$ref":"#/components/schemas/invoice-item-pricing"},"health_provider":{"$ref":"#/components/schemas/invoice-item-health-provider"},"name":{"type":"string","description":"The name of the resource.","example":"Example name"},"quantity":{"type":"integer","description":"The quantity of the resource.","example":1},"treatment_code":{"type":"string","nullable":true,"description":"The treatment code of the resource.","example":"example"},"invoice_id":{"type":"string","format":"uuid","description":"The invoice id of the resource.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"practitioner_id":{"type":"string","format":"uuid","nullable":true,"description":"The practitioner id of the resource.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"sundry_id":{"type":"string","format":"uuid","nullable":true,"description":"The sundry id of the resource.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"treatment_plan_id":{"type":"string","format":"uuid","nullable":true,"description":"The treatment plan id of the resource.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"treatment_plan_item_id":{"type":"string","format":"uuid","nullable":true,"description":"The treatment plan item id of the resource.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"created_by_id":{"type":"string","format":"uuid","nullable":true,"description":"UUID of the user who created the invoice item.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"created_at":{"$ref":"#/components/schemas/created_at"},"updated_at":{"$ref":"#/components/schemas/updated_at"}},"additionalProperties":false}]}},"components/schemas/nhs-contract":{"id":"components/schemas/nhs-contract","kind":"json-schema","title":"nhs-contract","data":{"allOf":[{"$ref":"#/components/schemas/entity-timestamps"},{"x-tags":["NHS Contract"]},{"type":"object","description":"An NHS dental service contract configured for a practice.","required":["id","name","is_active","site_id","nhs_contract_number","nhs_site_id","nhs_location_id","start_date","end_date","is_pds_plus","notes"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the NHS contract.","example":"74299a51-bb9a-47eb-9524-20ec9c3958a8","readOnly":true},"name":{"type":"string","description":"User-assigned name for the NHS contract.","example":"Main Surgery NHS Contract"},"is_active":{"type":"boolean","description":"Whether the NHS contract is active in Dentally.","example":true},"site_id":{"type":"string","format":"uuid","nullable":true,"description":"Identifier of the Dentally site associated with the contract. Null indicates a contract shared across the practice.","example":"a11df716-ce65-4210-be87-8b8ec448f85c"},"nhs_contract_number":{"type":"string","nullable":true,"description":"The NHS-assigned contract number, when one is recorded.","example":"1234567890"},"nhs_site_id":{"type":"string","nullable":true,"description":"The NHS-assigned site identifier, when one is recorded.","example":"12345"},"nhs_location_id":{"type":"string","nullable":true,"description":"The NHS-assigned treatment location identifier, when one is recorded.","example":"200006"},"start_date":{"type":"string","format":"date","nullable":true,"description":"Date on which the contract started, when recorded.","example":"2025-04-01"},"end_date":{"type":"string","format":"date","nullable":true,"description":"Date on which the contract ends, when recorded.","example":"2028-03-31"},"is_pds_plus":{"type":"boolean","description":"Whether the contract is marked as PDS Plus.","example":false},"notes":{"type":"string","nullable":true,"description":"User-defined notes about the contract.","example":null},"created_at":{"$ref":"#/components/schemas/created_at"},"updated_at":{"$ref":"#/components/schemas/updated_at"}},"additionalProperties":false}]}},"components/schemas/id":{"id":"components/schemas/id","kind":"json-schema","title":"id","data":{"type":"string","format":"uuid","description":"Unique identifier of the practitioner.","example":"550e8400-e29b-41d4-a716-446655440003"}},"components/schemas/name":{"id":"components/schemas/name","kind":"json-schema","title":"name","data":{"type":"string","nullable":true,"description":"Full display name of the practitioner.","example":"Dr. John Smith","readOnly":true}},"components/schemas/zone-group-ref":{"id":"components/schemas/zone-group-ref","kind":"json-schema","title":"zone-group-ref","data":{"type":"object","nullable":true,"description":"The zone group the calendar zone belongs to, if any. Zone groups are practice-defined labels that group related calendar zones together.","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the zone group.","example":"0f8fad5b-d9cb-469f-a165-70867728950e"},"name":{"type":"string","description":"Display name of the zone group.","example":"New patient exams","readOnly":true}}}},"components/schemas/calendar-zone":{"id":"components/schemas/calendar-zone","kind":"json-schema","title":"calendar-zone","data":{"type":"object","x-tags":["Calendar Zone"],"description":"A calendar zone: one occurrence of a scheduled, recurring block of diary time reserved for a specific purpose, for a practitioner or a room. Calendar zones do not restrict which appointments can be booked within them.","required":["id","title","start_time","finish_time","practitioner","room_id","zone_group","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the calendar zone.","example":"9b2f4c1e-3d5a-4e8b-a7c6-1f2e3d4c5b6a","readOnly":true},"title":{"type":"string","description":"Title of the calendar zone, as shown in the practice diary.","example":"Emergency slots"},"start_time":{"type":"string","format":"date-time","description":"Start time of the calendar zone in ISO 8601 format in UTC.","example":"2026-01-05T09:00:00Z"},"finish_time":{"type":"string","format":"date-time","description":"Finish time of the calendar zone in ISO 8601 format in UTC.","example":"2026-01-05T12:00:00Z"},"practitioner":{"type":"object","nullable":true,"description":"The practitioner the calendar zone is scheduled for. Null when the calendar zone is scheduled for a room instead. Retrieve the full practitioner record for additional details.","required":["id"],"properties":{"id":{"$ref":"#/components/schemas/id"},"name":{"$ref":"#/components/schemas/name"}}},"room_id":{"type":"string","format":"uuid","nullable":true,"description":"Identifier of the room the calendar zone is scheduled for, if applicable.","example":"550e8400-e29b-41d4-a716-446655440004"},"zone_group":{"$ref":"#/components/schemas/zone-group-ref"},"created_at":{"type":"string","format":"date-time","nullable":true,"description":"When the calendar zone was created (UTC, ISO 8601). Null for some older calendar zones.","example":"2025-12-01T10:15:00Z"},"updated_at":{"type":"string","format":"date-time","nullable":true,"description":"When the calendar zone was last updated (UTC, ISO 8601). Null for some older calendar zones.","example":"2025-12-01T10:15:00Z"}},"additionalProperties":false}},"components/schemas/map-identifiers-request":{"id":"components/schemas/map-identifiers-request","kind":"json-schema","title":"map-identifiers-request","data":{"type":"object","description":"Legacy identifiers to map to UUIDs for a NexGen resource. At most 100 ids may be supplied per request.","required":["resource","ids"],"properties":{"resource":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The NexGen resource type to map identifiers for. Supported values are "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"patient"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"practitioner"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"appointment"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"invoice"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"enum":["patient","practitioner","appointment","invoice"]},"ids":{"type":"array","minItems":1,"maxItems":100,"description":"Legacy integer sequential ids to map. Between 1 and 100 ids must be supplied. Each value must be a numeric sequential id for the requested resource.","items":{"type":"integer"}}},"additionalProperties":false}},"components/schemas/identifier-mapping":{"id":"components/schemas/identifier-mapping","kind":"json-schema","title":"identifier-mapping","data":{"type":"object","description":"A mapping from a legacy integer identifier to its UUID.","required":["id","uuid"],"properties":{"id":{"type":"integer","description":"The legacy integer sequential id for the matched resource.","example":42},"uuid":{"type":"string","format":"uuid","description":"The UUID for the resource within the practice.","example":"4EE0FA3E-12F4-4942-9347-1702EB89EBCC"}},"additionalProperties":false}},"components/schemas/treatment-category":{"id":"components/schemas/treatment-category","kind":"json-schema","title":"treatment-category","data":{"allOf":[{"$ref":"#/components/schemas/entity-timestamps"},{"x-tags":["Treatment Category"]},{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"treatment category"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is a practice-defined folder that groups treatments in the Dentally treatment catalogue, for example Diagnostic Related Services or Restorative. Every treatment belongs to exactly one treatment category."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Treatment categories are "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice-wide"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". They are not tied to a site, so the list returned for a practice is the complete catalogue, and no "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"site_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is returned or accepted as a filter."},"children":[]}]}]}],"required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the treatment category within the practice. Use this value when referring to the treatment category in subsequent API calls.","example":"4ee0fa3e-12f4-4942-9347-1702eb89ebcc","readOnly":true},"name":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The name of the treatment category as displayed in Dentally. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the category has no name. Names are not unique within a practice. The built-in category named \"System Treatments\" is returned like any other category."},"children":[]}]}]}],"example":"Diagnostic Related Services"},"created_at":{"$ref":"#/components/schemas/created_at"},"updated_at":{"$ref":"#/components/schemas/updated_at"}},"additionalProperties":false}]}},"components/schemas/treatment-plan-nhs-health-provider":{"id":"components/schemas/treatment-plan-nhs-health-provider","kind":"json-schema","title":"treatment-plan-nhs-health-provider","data":{"allOf":[{"$ref":"#/components/schemas/health-provider"},{"type":"object","properties":{"uda_value":{"type":"number","nullable":true,"description":"The NHS UDA value for the treatment plan.","example":10},"completed_uda_value":{"type":"number","nullable":true,"description":"The NHS UDA value for completed work on the treatment plan.","example":10}}}]}},"components/schemas/treatment-plan-private-health-provider":{"id":"components/schemas/treatment-plan-private-health-provider","kind":"json-schema","title":"treatment-plan-private-health-provider","data":{"allOf":[{"$ref":"#/components/schemas/health-provider"},{"type":"object","properties":{"treatment_value":{"type":"number","nullable":true,"description":"The total value of treatment under this health provider.","example":10}}}]}},"components/schemas/treatment-plan-health-provider":{"id":"components/schemas/treatment-plan-health-provider","kind":"json-schema","title":"treatment-plan-health-provider","data":{"type":"object","description":"Health provider details for a treatment plan.","anyOf":[{"$ref":"#/components/schemas/treatment-plan-nhs-health-provider"},{"$ref":"#/components/schemas/treatment-plan-private-health-provider"}],"discriminator":{"propertyName":"provider_name","mapping":{"nhs":"#/components/schemas/treatment-plan-nhs-health-provider","private":"#/components/schemas/treatment-plan-private-health-provider"}}}},"components/schemas/treatment-plan":{"id":"components/schemas/treatment-plan","kind":"json-schema","title":"treatment-plan","data":{"allOf":[{"$ref":"#/components/schemas/entity-timestamps"},{"x-tags":["Treatment Plan"]},{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"treatment plan"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is a planned course of dental treatment for a patient at a practice."},"children":[]}]}]}],"required":["id","patient_id","health_provider","start_date","completed_at","is_completed"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the treatment plan.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"patient_id":{"type":"string","format":"uuid","description":"Unique identifier of the patient this treatment plan belongs to.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"practitioner_id":{"type":"string","format":"uuid","nullable":true,"description":"Unique identifier of the practitioner this treatment plan belongs to.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"site_id":{"type":"string","format":"uuid","nullable":true,"description":"Unique identifier for the site associated with this treatment plan.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"health_provider":{"type":"array","description":"Health provider details for a treatment plan. A plan may include more than one provider.","items":{"$ref":"#/components/schemas/treatment-plan-health-provider"}},"start_date":{"type":"string","description":"The start date of the treatment plan.","example":"2026-01-01"},"end_date":{"type":"string","nullable":true,"description":"The end date of the treatment plan.","example":"2026-01-01"},"completed_at":{"type":"string","format":"date-time","nullable":true,"description":"When the treatment plan was first marked as completed.","example":"2025-06-01T08:00:00Z"},"is_completed":{"type":"boolean","description":"Whether the treatment plan is completed.","example":false},"created_at":{"$ref":"#/components/schemas/created_at"},"updated_at":{"$ref":"#/components/schemas/updated_at"}},"additionalProperties":false}]}},"components/schemas/treatment-plan-item-custom-fields":{"id":"components/schemas/treatment-plan-item-custom-fields","kind":"json-schema","title":"treatment-plan-item-custom-fields","data":{"type":"object","description":"A custom field value charted on a treatment plan item.","required":["id","value"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the custom field on the treatment plan item.","example":"2c19fdf0-987c-4e5a-aa71-06ad8a58ee22"},"value":{"description":"The value for this custom field on the treatment plan item.","oneOf":[{"type":"string","nullable":true},{"type":"boolean","nullable":true}],"example":true}},"additionalProperties":false}},"components/schemas/treatment-plan-item-clinical":{"id":"components/schemas/treatment-plan-item-clinical","kind":"json-schema","title":"treatment-plan-item-clinical","data":{"type":"object","description":"Clinical details for a treatment plan item.","required":["region","surfaces","teeth"],"properties":{"region":{"type":"string","description":"The region that the treatment plan item is applied to.","enum":["item","patient","site","surface","tooth","toothCoordinate"],"example":"tooth"},"surfaces":{"type":"array","nullable":true,"description":"The surfaces to be treated. Surfaces are numbered 1-5 for incisors, canines, premolars and deciduous teeth  and 1-8 for molar teeth. Surface numbering starts from the top left hand corner of the tooth  and is counted clockwise around the edge of the tooth and into the center.","items":{"type":"integer"},"example":[1]},"teeth":{"type":"array","nullable":true,"description":"The teeth to be treated. All teeth are stored using Palmer notation.","items":{"type":"string"},"example":["LR4"]}},"additionalProperties":false}},"components/schemas/treatment-health-provider":{"id":"components/schemas/treatment-health-provider","kind":"json-schema","title":"treatment-health-provider","data":{"allOf":[{"$ref":"#/components/schemas/health-provider"},{"type":"object","description":"Health-provider details for a treatment.","required":["provider_treatment_category"],"properties":{"provider_treatment_category":{"type":"string","nullable":true,"description":"The treatment category or claim code under the health provider.","example":"9317"}}}]}},"components/schemas/treatment-nhs-health-provider":{"id":"components/schemas/treatment-nhs-health-provider","kind":"json-schema","title":"treatment-nhs-health-provider","data":{"allOf":[{"$ref":"#/components/schemas/treatment-health-provider"},{"type":"object","description":"NHS health-provider details for a treatment.","properties":{"uda_band":{"type":"integer","nullable":true,"description":"The NHS UDA band of the treatment.","example":1}}}]}},"components/schemas/treatment-plan-item-health-provider":{"id":"components/schemas/treatment-plan-item-health-provider","kind":"json-schema","title":"treatment-plan-item-health-provider","data":{"type":"object","description":"Health provider details for a treatment plan item.","oneOf":[{"$ref":"#/components/schemas/treatment-nhs-health-provider"}],"discriminator":{"propertyName":"provider_name","mapping":{"nhs":"#/components/schemas/treatment-nhs-health-provider"}}}},"components/schemas/treatment-plan-item":{"id":"components/schemas/treatment-plan-item","kind":"json-schema","title":"treatment-plan-item","data":{"allOf":[{"$ref":"#/components/schemas/entity-timestamps"},{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"treatment plan item"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is a treatment charted on a patient’s treatment plan."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each item links a treatment to a plan, with pricing, clinical details, completion status, notes,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and health provider details where applicable."},"children":[]}]}]}],"required":["id","patient_id","practitioner_id","fee_schedule_id","treatment_plan_id","nomenclature","price","is_charged","is_completed","duration_minutes","custom_fields","clinical","health_provider"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the treatment plan item.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"patient_id":{"type":"string","format":"uuid","description":"Unique identifier of the patient this treatment plan item belongs to.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"practitioner_id":{"type":"string","format":"uuid","description":"Unique identifier of the practitioner this treatment plan item belongs to.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"fee_schedule_id":{"type":"string","format":"uuid","description":"Unique identifier of the fee schedule this treatment plan item belongs to. Dentally's user interface in the  United Kingdom sometimes calls this a payment plan.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"referrer_id":{"type":"string","format":"uuid","nullable":true,"description":"Unique identifier of the referrer of the treatment plan item.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"invoice_id":{"type":"string","format":"uuid","nullable":true,"description":"Unique identifier of the invoice the treatment plan item belongs to.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"treatment_appointment_id":{"type":"string","format":"uuid","nullable":true,"description":"Unique identifier of the treatment appointment the treatment plan item belongs to.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"treatment_id":{"type":"string","format":"uuid","nullable":true,"description":"Unique identifier of the treatment the treatment plan item belongs to.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"treatment_plan_id":{"type":"string","format":"uuid","description":"Unique identifier of the treatment plan the treatment plan item belongs to."},"nomenclature":{"type":"string","description":"The classification of the treatment plan item.","example":"Acute Mucosal Infection"},"patient_friendly_nomenclature":{"type":"string","nullable":true,"description":"The patient friendly classification of the treatment plan item.","example":"Urgent/Emergency Assessment"},"price":{"type":"number","description":"The price of the treatment plan item.","example":10},"is_charged":{"type":"boolean","description":"Whether the treatment plan item is charged.","example":false},"is_completed":{"type":"boolean","description":"Whether the treatment plan item is completed.","example":false},"completed_at":{"type":"string","format":"date-time","nullable":true,"description":"When the treatment plan item was first marked as completed.","example":"2025-06-01T08:00:00Z"},"duration_minutes":{"type":"integer","description":"The duration in minutes of the treatment plan item.","example":30},"notes":{"type":"string","nullable":true,"description":"The notes relating to the treatment plan item in HTML.","example":"<p>This is a note</p>"},"custom_fields":{"type":"array","description":"The custom fields for this treatment plan item.","items":{"$ref":"#/components/schemas/treatment-plan-item-custom-fields"}},"clinical":{"$ref":"#/components/schemas/treatment-plan-item-clinical"},"health_provider":{"$ref":"#/components/schemas/treatment-plan-item-health-provider"},"created_at":{"$ref":"#/components/schemas/created_at"},"updated_at":{"$ref":"#/components/schemas/updated_at"}},"additionalProperties":false}]}},"components/schemas/treatment":{"id":"components/schemas/treatment","kind":"json-schema","title":"treatment","data":{"allOf":[{"$ref":"#/components/schemas/entity-timestamps"},{"x-tags":["Treatment"]},{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"treatment"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is a practice-level catalogue entry for a dental procedure that can be assigned to a patient treatment plan. Every treatment belongs to exactly one treatment category."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Treatments are "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"practice-wide"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". They are not tied to a site, so the list returned for a practice is the complete catalogue, and no "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"site_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is returned or accepted as a filter."},"children":[]}]}]}],"required":["id","is_active","owner","treatment_category_id"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the treatment within the practice. Use this value when referring to the treatment in subsequent API calls.","example":"94525b9c-af18-40a5-905f-f539f1c45f6f","readOnly":true},"code":{"type":"string","nullable":true,"description":"Short procedure code for the treatment within the practice.","example":"100"},"nomenclature":{"type":"string","nullable":true,"description":"Display name of the treatment in Dentally.","example":"Exam"},"description":{"type":"string","nullable":true,"description":"Longer description of the treatment.","example":"An evaluation performed on a patient of record to determine any changes in the patient's dental and medical health status."},"patient_nomenclature":{"type":"string","nullable":true,"description":"Patient-facing name for the treatment.","example":"Examination"},"patient_description":{"type":"string","nullable":true,"description":"Patient-facing description of the treatment.","example":null},"treatment_category_id":{"type":"string","format":"uuid","description":"Identifier of the treatment category this treatment belongs to.","example":"4ee0fa3e-12f4-4942-9347-1702eb89ebcc"},"is_active":{"type":"boolean","description":"Whether the treatment is active in the practice catalogue.","example":true},"is_displayed_on_invoice":{"type":"boolean","nullable":true,"description":"Whether the treatment is displayed on patient invoices.","example":true},"region":{"type":"string","nullable":true,"description":"Chart targeting for how the treatment is applied.","enum":["item","patient","site","surface","tooth","toothCoordinate"],"example":"patient"},"owner":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Who manages the treatment. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"practice"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for practice-authored entries; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"system"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for Dentally-managed system treatments."},"children":[]}]}]}],"enum":["practice","system"],"example":"practice"},"health_provider":{"type":"object","nullable":true,"description":"Health-provider details for this treatment.","anyOf":[{"$ref":"#/components/schemas/treatment-health-provider"},{"$ref":"#/components/schemas/treatment-nhs-health-provider"}],"discriminator":{"propertyName":"provider_name","mapping":{"nhs":"#/components/schemas/treatment-nhs-health-provider","prsi":"#/components/schemas/treatment-health-provider"}}},"created_at":{"$ref":"#/components/schemas/created_at"},"updated_at":{"$ref":"#/components/schemas/updated_at"}},"additionalProperties":false}]}},"components/schemas/subscription-status":{"id":"components/schemas/subscription-status","kind":"json-schema","title":"subscription-status","data":{"type":"string","enum":["Unknown","Pending","Completed"],"description":"The status of the subscription."}},"components/schemas/subscription":{"id":"components/schemas/subscription","kind":"json-schema","title":"subscription","data":{"type":"object","required":["id","partner_id","product_id","practice_id","status","created_at"],"properties":{"id":{"type":"string","format":"uuid","description":"The identifier of the subscription, as a uuid."},"partner_id":{"type":"string","format":"uuid","description":"The identifier of the partner which owns the product, as a uuid."},"product_id":{"type":"string","description":"The identifier of the product which is subscribed to, as a uuid."},"practice_id":{"type":"string","format":"uuid","description":"The identifier of the practice which the subscription is for, as a uuid."},"site_id":{"type":"string","format":"uuid","description":"An optional identifier of the site within the practice which the subscription is for, as a uuid. If not specified, the subscription is for all sites within the practice.","nullable":true},"status":{"$ref":"#/components/schemas/subscription-status","description":"The status of the subscription."},"created_at":{"type":"string","format":"date-time","description":"The timestamp of when this subscription was created."},"updated_at":{"type":"string","format":"date-time","description":"The timestamp of when this subscription was updated.","nullable":true},"deleted_at":{"type":"string","format":"date-time","description":"The timestamp of when this subscription was deleted, or when it will expire if a future date is specified.","nullable":true}}}},"schema_0":{"kind":"json-schema","data":{"type":"integer","minimum":1,"maximum":100,"default":20},"id":"schema_0"},"schema_1":{"kind":"json-schema","data":{"type":"string"},"id":"schema_1"},"schema_2":{"kind":"json-schema","data":{"type":"string","format":"uuid"},"id":"schema_2"},"schema_3":{"kind":"json-schema","data":{"type":"string","format":"date","example":"2026-01-01"},"id":"schema_3"},"schema_4":{"kind":"json-schema","data":{"$ref":"#/components/schemas/appointment-state"},"id":"schema_4"},"schema_5":{"kind":"json-schema","data":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","description":"Appointments in the current page.","items":{"$ref":"#/components/schemas/appointment"}},"meta":{"$ref":"#/components/schemas/meta"}},"additionalProperties":false},"id":"schema_5"},"schema_6":{"kind":"json-schema","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JSON envelope with the newly created appointment as the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" member."},"children":[]}]}]}],"required":["data"],"properties":{"data":{"description":"Full details for the newly created appointment.","allOf":[{"$ref":"#/components/schemas/appointment"}]}},"additionalProperties":false},"id":"schema_6"},"schema_7":{"kind":"json-schema","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JSON envelope with the appointment as the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" member."},"children":[]}]}]}],"required":["data"],"properties":{"data":{"description":"Full details for one appointment.","allOf":[{"$ref":"#/components/schemas/appointment"}]}},"additionalProperties":false},"id":"schema_7"},"schema_8":{"kind":"json-schema","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JSON envelope with the updated appointment as the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" member."},"children":[]}]}]}],"required":["data"],"properties":{"data":{"description":"Full details for the updated appointment.","allOf":[{"$ref":"#/components/schemas/appointment"}]}},"additionalProperties":false},"id":"schema_8"},"schema_9":{"kind":"json-schema","data":{"type":"boolean","example":true},"id":"schema_9"},"schema_10":{"kind":"json-schema","data":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","description":"List of appointment reasons.","items":{"$ref":"#/components/schemas/appointment-reason"}},"meta":{"$ref":"#/components/schemas/meta"}},"additionalProperties":false},"id":"schema_10"},"schema_11":{"kind":"json-schema","data":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","description":"List of appointment cancellation reasons.","items":{"$ref":"#/components/schemas/appointment-cancellation-reason"}},"meta":{"$ref":"#/components/schemas/meta"}},"additionalProperties":false},"id":"schema_11"},"schema_12":{"kind":"json-schema","data":{"type":"string","format":"date","example":"2025-01-01"},"id":"schema_12"},"schema_13":{"kind":"json-schema","data":{"type":"string","format":"date","example":"2025-03-31"},"id":"schema_13"},"schema_14":{"kind":"json-schema","data":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","description":"Calendar zones in the current page.","items":{"$ref":"#/components/schemas/calendar-zone"}},"meta":{"$ref":"#/components/schemas/meta"}},"additionalProperties":false},"id":"schema_14"},"schema_15":{"kind":"json-schema","data":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/calendar-zone"}},"additionalProperties":false},"id":"schema_15"},"schema_16":{"kind":"json-schema","data":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","description":"List of patients.","items":{"$ref":"#/components/schemas/patient"}},"meta":{"$ref":"#/components/schemas/meta"}},"additionalProperties":false},"id":"schema_16"},"schema_17":{"kind":"json-schema","data":{"type":"object","description":"JSON envelope with the newly created patient.","required":["data"],"properties":{"data":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Created patient record; see "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"components/schemas/patient.yml"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"allOf":[{"$ref":"#/components/schemas/patient"}]}}},"id":"schema_17"},"schema_18":{"kind":"json-schema","data":{"type":"string","format":"date"},"id":"schema_18"},"schema_19":{"kind":"json-schema","data":{"type":"string","format":"email"},"id":"schema_19"},"schema_20":{"kind":"json-schema","data":{"type":"object","required":["data"],"properties":{"data":{"description":"The patient record.","allOf":[{"$ref":"#/components/schemas/patient"}]}}},"id":"schema_20"},"schema_21":{"kind":"json-schema","data":{"type":"object","required":["data"],"properties":{"data":{"description":"The updated patient record.","allOf":[{"$ref":"#/components/schemas/patient"}]}}},"id":"schema_21"},"schema_22":{"kind":"json-schema","data":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/patient-account"}},"additionalProperties":false},"id":"schema_22"},"schema_23":{"kind":"json-schema","data":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","description":"Practitioners in the current page.","items":{"$ref":"#/components/schemas/practitioner"}},"meta":{"$ref":"#/components/schemas/meta"}},"additionalProperties":false},"id":"schema_23"},"schema_24":{"kind":"json-schema","data":{"type":"array","minItems":1,"items":{"type":"string","format":"uuid"}},"id":"schema_24"},"schema_25":{"kind":"json-schema","data":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","description":"Availability slots in the current page.","items":{"$ref":"#/components/schemas/availability-slot"}},"meta":{"$ref":"#/components/schemas/meta"}},"additionalProperties":false},"id":"schema_25"},"schema_26":{"kind":"json-schema","data":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/practitioner"}},"additionalProperties":false},"id":"schema_26"},"schema_27":{"kind":"json-schema","data":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","description":"Rota schedule history rows in the current page.","items":{"$ref":"#/components/schemas/rota-schedule-history"}},"meta":{"$ref":"#/components/schemas/meta"}},"additionalProperties":false},"id":"schema_27"},"schema_28":{"kind":"json-schema","data":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","description":"Sites in the current page, each including address, contact details, and opening hours for that location.","items":{"$ref":"#/components/schemas/site"}},"meta":{"$ref":"#/components/schemas/meta"}},"additionalProperties":false},"id":"schema_28"},"schema_29":{"kind":"json-schema","data":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/site"}},"additionalProperties":false},"id":"schema_29"},"schema_30":{"kind":"json-schema","data":{"type":"object","description":"JSON envelope with the ID of the communication that was sent.","required":["data"],"properties":{"data":{"allOf":[{"$ref":"#/components/schemas/resource_timestamps"},{"type":"object","description":"Object containing the ID of the communication that was sent.","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"ID of the communication that was sent.","example":"123e4567-e89b-12d3-a456-426614174005"}}}]}}},"id":"schema_30"},"schema_31":{"kind":"json-schema","data":{"$ref":"#/components/schemas/communication-channel"},"id":"schema_31"},"schema_32":{"kind":"json-schema","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JSON envelope with the communication details as the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" member."},"children":[]}]}]}],"required":["data"],"properties":{"data":{"description":"Full details for one response communication.","allOf":[{"type":"object","description":"Object containing the details of the communication.","properties":{"id":{"type":"string","format":"uuid","description":"ID of the requested communication.","example":"123e4567-e89b-12d3-a456-426614174005"},"communication_channel":{"$ref":"#/components/schemas/communication-channel","description":"The channel used to send the communication (e.g., \"sms\", \"email\").","example":"sms"},"body":{"type":"string","description":"The text content of the reply.","example":"I would love to attend my appointment tomorrow at 3 PM."}}},{"$ref":"#/components/schemas/resource_timestamps"}]}}},"id":"schema_32"},"schema_33":{"kind":"json-schema","data":{"type":"object","description":"JSON envelope with the ID of the external communication that was created.","required":["data"],"properties":{"data":{"allOf":[{"$ref":"#/components/schemas/resource_timestamps"},{"type":"object","description":"Object containing the ID of the external communication that was created.","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"ID of the external communication that was created.","example":"123e4567-e89b-12d3-a456-426614174005"}}}]}}},"id":"schema_33"},"schema_34":{"kind":"json-schema","data":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","description":"Fees in the current page.","items":{"$ref":"#/components/schemas/fee"}},"meta":{"$ref":"#/components/schemas/meta"}},"additionalProperties":false},"id":"schema_34"},"schema_35":{"kind":"json-schema","data":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/fee"}},"additionalProperties":false},"id":"schema_35"},"schema_36":{"kind":"json-schema","data":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","description":"Fee schedules in the current page.","items":{"$ref":"#/components/schemas/fee-schedule"}},"meta":{"$ref":"#/components/schemas/meta"}},"additionalProperties":false},"id":"schema_36"},"schema_37":{"kind":"json-schema","data":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/fee-schedule"}},"additionalProperties":false},"id":"schema_37"},"schema_38":{"kind":"json-schema","data":{"type":"boolean"},"id":"schema_38"},"schema_39":{"kind":"json-schema","data":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","description":"List of invoices.","items":{"$ref":"#/components/schemas/invoice"}},"meta":{"$ref":"#/components/schemas/meta"}},"additionalProperties":false},"id":"schema_39"},"schema_40":{"kind":"json-schema","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JSON envelope with the invoice as the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" member."},"children":[]}]}]}],"required":["data"],"properties":{"data":{"description":"Full details for one invoice.","allOf":[{"$ref":"#/components/schemas/invoice"}]}},"additionalProperties":false},"id":"schema_40"},"schema_41":{"kind":"json-schema","data":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","description":"InvoiceItems in the current page.","items":{"$ref":"#/components/schemas/invoice-item"}},"meta":{"$ref":"#/components/schemas/meta"}},"additionalProperties":false},"id":"schema_41"},"schema_42":{"kind":"json-schema","data":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","description":"NHS contracts in the current page.","items":{"$ref":"#/components/schemas/nhs-contract"}},"meta":{"$ref":"#/components/schemas/meta"}},"additionalProperties":false},"id":"schema_42"},"schema_43":{"kind":"json-schema","data":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/nhs-contract"}},"additionalProperties":false},"id":"schema_43"},"schema_44":{"kind":"json-schema","data":{"type":"object","required":["data"],"properties":{"data":{"type":"array","description":"Mappings for requested ids that matched a record. Ids with no match are omitted.","maxItems":100,"items":{"$ref":"#/components/schemas/identifier-mapping"}}},"additionalProperties":false},"id":"schema_44"},"schema_45":{"kind":"json-schema","data":{"type":"string","format":"uuid","example":"4ee0fa3e-12f4-4942-9347-1702eb89ebcc"},"id":"schema_45"},"schema_46":{"kind":"json-schema","data":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","description":"Treatments in the current page.","items":{"$ref":"#/components/schemas/treatment"}},"meta":{"$ref":"#/components/schemas/meta"}},"additionalProperties":false},"id":"schema_46"},"schema_47":{"kind":"json-schema","data":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/treatment"}},"additionalProperties":false},"id":"schema_47"},"schema_48":{"kind":"json-schema","data":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","description":"Treatment categories in the current page.","items":{"$ref":"#/components/schemas/treatment-category"}},"meta":{"$ref":"#/components/schemas/meta"}},"additionalProperties":false},"id":"schema_48"},"schema_49":{"kind":"json-schema","data":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/treatment-category"}},"additionalProperties":false},"id":"schema_49"},"schema_50":{"kind":"json-schema","data":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","description":"Treatment Plans in the current page.","items":{"$ref":"#/components/schemas/treatment-plan"}},"meta":{"$ref":"#/components/schemas/meta"}},"additionalProperties":false},"id":"schema_50"},"schema_51":{"kind":"json-schema","data":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/treatment-plan"}},"additionalProperties":false},"id":"schema_51"},"schema_52":{"kind":"json-schema","data":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","description":"Treatment Plan Items in the current page.","items":{"$ref":"#/components/schemas/treatment-plan-item"}},"meta":{"$ref":"#/components/schemas/meta"}},"additionalProperties":false},"id":"schema_52"},"schema_53":{"kind":"json-schema","data":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","description":"List of active subscriptions.","items":{"$ref":"#/components/schemas/subscription"}},"meta":{"$ref":"#/components/schemas/meta"}},"additionalProperties":false},"id":"schema_53"},"schema_54":{"kind":"json-schema","data":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/subscription"}},"additionalProperties":false},"id":"schema_54"}},"exampleStore":{"components/examples/response-appointment-list-example":{"id":"components/examples/response-appointment-list-example","value":{"data":[{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","patient":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","first_name":"Jane","middle_name":"Marie","last_name":"Doe"},"start_time":"2025-06-01T08:00:00Z","finish_time":"2025-06-01T09:00:00Z","duration_minutes":60,"reason":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","name":"Routine dental check-up"},"notes":"Patient requested a morning appointment.","practitioner":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","name":"Dr. Smith"},"site_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","state":"Pending","cancelled_at":null,"payment_plan_id":null,"room_id":null,"created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"},{"id":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","patient":{"id":"7c9e6679-7425-40de-944b-e07fc1f90ae7","first_name":"John","middle_name":null,"last_name":"Smith"},"start_time":"2025-09-01T11:00:00Z","finish_time":"2025-09-01T11:45:00Z","duration_minutes":45,"notes":"Follow-up appointment.","practitioner":{"id":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","name":"Dr. Johnson"},"site_id":"7c9e6679-7425-40de-944b-e07fc1f90ae7","state":"Confirmed","cancelled_at":null,"payment_plan_id":null,"room_id":null,"created_at":"2025-08-05T10:30:00Z","updated_at":"2025-08-20T16:15:00Z"}],"meta":{"cursor":"eyJjdXJzb3IiOiJuZXh0In0"}},"summary":"First page of appointments","description":"Paginated list with cursor for the next page."},"components/examples/problem-bad-request-example":{"id":"components/examples/problem-bad-request-example","value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field)."},"components/examples/problem-unauthorized-example":{"id":"components/examples/problem-unauthorized-example","value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated."},"components/examples/problem-user-error-example":{"id":"components/examples/problem-user-error-example","value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type)."},"components/examples/problem-server-error-example":{"id":"components/examples/problem-server-error-example","value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure."},"components/examples/response-appointment-single-example":{"id":"components/examples/response-appointment-single-example","value":{"data":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","patient":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","first_name":"Jane","middle_name":"Marie","last_name":"Doe"},"start_time":"2025-06-01T08:00:00Z","finish_time":"2025-06-01T09:00:00Z","duration_minutes":60,"reason":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","name":"Routine dental check-up"},"notes":"Patient requested a morning appointment.","practitioner":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","name":"Dr. Smith"},"site_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","state":"Pending","cancelled_at":null,"payment_plan_id":null,"room_id":null,"created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"}},"summary":"Single appointment","description":"Wrapper returned by get, create, or update appointment."},"components/examples/problem-unprocessable-entity-example":{"id":"components/examples/problem-unprocessable-entity-example","value":{"type":"https://api.dentally.co/problems/unprocessable-entity","title":"Unprocessable Entity","status":422,"detail":"start_time must be before finish_time.","instance":"/v2/appointments"},"summary":"Validation error","description":"RFC 7807 problem details when the request is well-formed but fails business validation."},"components/examples/problem-not-found-example":{"id":"components/examples/problem-not-found-example","value":{"type":"https://api.dentally.co/problems/not-found","title":"Not Found","status":404,"detail":"No site found for the given id in this practice.","instance":"/v2/sites/8c7f4c9b-0e3d-5f2a-b6c7-4d8e9f0a1b2c"},"summary":"Resource not found","description":"RFC 7807 problem details when no resource matches the given identifier."},"components/examples/response-appointment-reason-list-example":{"id":"components/examples/response-appointment-reason-list-example","value":{"data":[{"id":"4EE0FA3E-12F4-4942-9347-1702EB89EBCC","name":"Exam + Scale & Polish","is_active":true,"created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"},{"id":"9A2B3C4D-5E6F-7081-92A3-B4C5D6E7F809","name":"New Patient Consultation","is_active":true,"created_at":"2025-08-12T11:00:00Z","updated_at":"2026-01-05T09:45:00Z"}],"meta":{"cursor":"eyJjdXJzb3IiOiJuZXh0In0"}},"summary":"First page of appointment reasons","description":"Paginated list with cursor for the next page."},"components/examples/response-appointment-cancellation-reason-list-example":{"id":"components/examples/response-appointment-cancellation-reason-list-example","value":{"data":[{"id":"AE492D60-8970-4AA0-8D5C-84FFAF4A16A3","name":"Patient - Illness","type":"cancelled","is_active":true,"created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"},{"id":"EFB3701D-649E-407F-860E-D08C31FBF2F4","name":"Practice - Staff Issue","type":"cancelled","is_active":true,"created_at":"2025-08-12T11:00:00Z","updated_at":"2026-01-05T09:45:00Z"}],"meta":{"cursor":"eyJjdXJzb3IiOiJuZXh0In0"}},"summary":"First page of appointment cancellation reasons","description":"Paginated list with cursor for the next page."},"components/examples/response-patient-single-example":{"id":"components/examples/response-patient-single-example","value":{"data":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","is_active":true,"is_appointment_booking_prevented":false,"preferred_phone_type":"mobile","first_name":"Jane","last_name":"Doe","date_of_birth":"1990-04-12","title":"Ms","ethnicity":"01","payment_plan_id":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","site_id":"7c9e6679-7425-40de-944b-e07fc1f90ae7","address":{"address_line_1":"42 High Street","locality":"London","administrative_area":"Greater London","postal_code":"EC1A 1BB"},"email_address":"jane.doe@example.com","biological_sex":"female","phones":[{"phone_type":"mobile","phone_number":"+447911123456","phone_country":"GB","phone_number_normalized":"+447911123456"}],"communication":{"is_marketing_enabled":true,"is_email_enabled":true,"is_sms_enabled":false},"recall":{"dentist":{"date":"2026-03-15","interval_months":6},"hygienist":{"date":"2026-04-01","interval_months":6},"method":"email"},"archived_reason":null,"is_bad_debtor":false,"created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"}},"summary":"Single patient","description":"Wrapper returned by get, create, or update patient."},"components/examples/response-patient-account-example":{"id":"components/examples/response-patient-account-example","value":{"data":{"owning_patient_id":"550e8400-e29b-41d4-a716-446655440004","balance_amount":-125.5,"patient_balance_amount":-100.5,"pending_payments_amount":-25,"deposit_amount":0,"created_at":"2026-01-05T09:12:44Z","updated_at":"2026-10-02T14:03:10Z"}},"summary":"Patient account balance","description":"Example where the patient owes the practice: monetary amounts in this sample are negative. Accounts in credit have positive amounts."},"components/examples/response-practitioner-list-example":{"id":"components/examples/response-practitioner-list-example","value":{"data":[{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","name":"Jane Doe","user_id":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","site_id":"7c9e6679-7425-40de-944b-e07fc1f90ae7","role":"Hygienist","nhs_number":"9998887777","gdc_number":"123456","created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"},{"id":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","name":"John Smith","user_id":"7c9e6679-7425-40de-944b-e07fc1f90ae7","site_id":"7c9e6679-7425-40de-944b-e07fc1f90ae7","role":null,"nhs_number":null,"gdc_number":null,"created_at":"2025-08-12T11:00:00Z","updated_at":"2026-01-05T09:45:00Z"}],"meta":{"cursor":"eyJjdXJzb3IiOiJuZXh0In0"}},"summary":"First page of practitioners","description":"Paginated list with cursor for the next page."},"components/examples/response-practitioner-availability-list-example":{"id":"components/examples/response-practitioner-availability-list-example","value":{"data":[{"start_time":"2031-12-01T09:00:00+00:00","finish_time":"2031-12-01T10:00:00+00:00","practitioner_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},{"start_time":"2031-12-01T10:00:00+00:00","finish_time":"2031-12-01T11:00:00+00:00","practitioner_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"}],"meta":{"cursor":"eyJjdXJzb3IiOiJuZXh0In0"}},"summary":"First page of practitioner availability slots","description":"Paginated list of availability slots for the requested practitioners, ordered by start time ascending."},"components/examples/response-practitioner-single-example":{"id":"components/examples/response-practitioner-single-example","value":{"data":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","name":"Jane Doe","user_id":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","site_id":"7c9e6679-7425-40de-944b-e07fc1f90ae7","role":"Therapist","nhs_number":"NHS-001","gdc_number":"123456","created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"}},"summary":"Single practitioner","description":"Wrapper returned by get practitioner."},"components/examples/response-rota-schedule-history-list-example":{"id":"components/examples/response-rota-schedule-history-list-example","value":{"data":[{"practitioner_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","date":"2025-01-15","is_available":true,"start_time":"09:00","finish_time":"17:30","breaks":[{"name":"Lunch","start_time":"13:00","finish_time":"14:00"}],"created_at":"2025-01-16T00:05:12Z","updated_at":"2025-01-16T00:05:12Z"},{"practitioner_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","date":"2025-01-14","is_available":false,"start_time":null,"finish_time":null,"breaks":[],"created_at":"2025-01-15T00:05:08Z","updated_at":"2025-01-15T00:05:08Z"}],"meta":{"cursor":"eyJjdXJzb3IiOiJuZXh0In0"}},"summary":"First page of rota schedule histories","description":"Paginated list of snapshotted rota days for a practitioner, ordered by date descending."},"components/examples/response-site-list-example":{"id":"components/examples/response-site-list-example","value":{"data":[{"id":"8c7f4c9b-0e3d-5f2a-b6c7-4d8e9f0a1b2c","name":"Dentally High Street","address":{"address_line_1":"42 High Street","address_line_2":null,"address_line_3":null,"locality":"Manchester","administrative_area":"Greater Manchester","postal_code":"M1 1AA"},"contact_details":{"email_address":"reception@example.com","phone_number":"+441612345678","website_url":"https://example.com/high-street"},"opening_hours":[{"weekday":"Sunday","open_at":null,"close_at":null},{"weekday":"Monday","open_at":"09:00","close_at":"17:30"},{"weekday":"Tuesday","open_at":"09:00","close_at":"17:30"},{"weekday":"Wednesday","open_at":"09:00","close_at":"17:30"},{"weekday":"Thursday","open_at":"09:00","close_at":"17:30"},{"weekday":"Friday","open_at":"09:00","close_at":"17:00"},{"weekday":"Saturday","open_at":null,"close_at":null}],"created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"},{"id":"2b3c4d5e-6f70-8192-a3b4-c5d6e7f80901","name":"Dentally Riverside","address":{"address_line_1":"10 River Road","address_line_2":"Unit 2","address_line_3":null,"locality":"Salford","administrative_area":"Greater Manchester","postal_code":"M50 1AB"},"contact_details":{"email_address":"riverside@example.com","phone_number":"+441614445566","website_url":null},"opening_hours":[{"weekday":"Sunday","open_at":null,"close_at":null},{"weekday":"Monday","open_at":"08:30","close_at":"18:00"},{"weekday":"Tuesday","open_at":"08:30","close_at":"18:00"},{"weekday":"Wednesday","open_at":"08:30","close_at":"18:00"},{"weekday":"Thursday","open_at":"08:30","close_at":"18:00"},{"weekday":"Friday","open_at":"08:30","close_at":"18:00"},{"weekday":"Saturday","open_at":"09:00","close_at":"13:00"}],"created_at":"2025-08-12T11:00:00Z","updated_at":"2026-01-05T09:45:00Z"}],"meta":{"cursor":"eyJjcmVhdGVkX2F0IjoiMjAyNS0wOC0xMlQxMTowMDowMFoifQ"}},"summary":"First page of sites","description":"Paginated list with cursor for the next page."},"components/examples/response-site-single-example":{"id":"components/examples/response-site-single-example","value":{"data":{"id":"8c7f4c9b-0e3d-5f2a-b6c7-4d8e9f0a1b2c","name":"Dentally High Street","address":{"address_line_1":"42 High Street","address_line_2":null,"address_line_3":null,"locality":"Manchester","administrative_area":"Greater Manchester","postal_code":"M1 1AA"},"contact_details":{"email_address":"reception@example.com","phone_number":"+441612345678","website_url":"https://example.com/high-street"},"opening_hours":[{"weekday":"Sunday","open_at":null,"close_at":null},{"weekday":"Monday","open_at":"09:00","close_at":"17:30"},{"weekday":"Tuesday","open_at":"09:00","close_at":"17:30"},{"weekday":"Wednesday","open_at":"09:00","close_at":"17:30"},{"weekday":"Thursday","open_at":"09:00","close_at":"17:30"},{"weekday":"Friday","open_at":"09:00","close_at":"17:00"},{"weekday":"Saturday","open_at":null,"close_at":null}],"created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"}},"summary":"Single site","description":"Wrapper returned by get site."},"components/examples/response-fee-list-example":{"id":"components/examples/response-fee-list-example","value":{"data":[{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","payment_plan_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","treatment_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","is_multiple_pricing":true,"tiers":[{"quantity":1,"price":55,"duration_minutes":15},{"quantity":2,"price":75,"duration_minutes":20},{"quantity":3,"price":95,"duration_minutes":25},{"quantity":4,"price":110,"duration_minutes":30},{"quantity":5,"price":125,"duration_minutes":35}],"created_at":"2025-06-01T08:00:00Z","updated_at":"2025-06-01T08:00:00Z"}],"meta":{"cursor":"eyJjcmVhdGVkX2F0IjoiMjAyNS0wOC0xMlQxMTowMDowMFoifQ"}},"summary":"First page of fees","description":"Paginated list with cursor for the next page."},"components/examples/response-fee-single-example":{"id":"components/examples/response-fee-single-example","value":{"data":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","payment_plan_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","treatment_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","is_multiple_pricing":true,"tiers":[{"quantity":1,"price":55,"duration_minutes":15},{"quantity":2,"price":75,"duration_minutes":20},{"quantity":3,"price":95,"duration_minutes":25},{"quantity":4,"price":110,"duration_minutes":30},{"quantity":5,"price":125,"duration_minutes":35}],"created_at":"2025-06-01T08:00:00Z","updated_at":"2025-06-01T08:00:00Z"}},"summary":"Single fee","description":"Wrapper returned by get fee."},"components/examples/response-fee-schedule-list-example":{"id":"components/examples/response-fee-schedule-list-example","value":{"data":[{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","name":"NHS","patient_friendly_name":null,"is_active":true,"site_id":null,"account_code":"200","funding":{"type":"private","scheme":"nhs","claim_timing":null},"default_appointment_duration":{"exam_minutes":10,"scale_and_polish_minutes":10,"exam_scale_and_polish_minutes":20,"emergency_minutes":10},"patient_default":{"recall":{"dentist_interval_months":6,"hygienist_interval_months":6,"method":"letter"},"communication":{"is_email_enabled":true,"is_sms_enabled":true}},"membership":{"monthly_fee":0,"exam_appointments_included":0,"hygiene_appointments_included":0},"created_at":"2024-01-15T09:30:00Z","updated_at":"2026-03-02T11:12:00Z"},{"id":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","name":"Private","patient_friendly_name":null,"is_active":true,"site_id":"a11df716-ce65-4210-be87-8b8ec448f85c","account_code":"200","funding":{"type":"private","scheme":null,"claim_timing":null},"default_appointment_duration":{"exam_minutes":10,"scale_and_polish_minutes":10,"exam_scale_and_polish_minutes":20,"emergency_minutes":10},"patient_default":{"recall":{"dentist_interval_months":6,"hygienist_interval_months":6,"method":"letter"},"communication":{"is_email_enabled":true,"is_sms_enabled":true}},"membership":{"monthly_fee":0,"exam_appointments_included":0,"hygiene_appointments_included":0},"created_at":"2024-01-15T09:31:00Z","updated_at":"2025-11-04T16:22:00Z"}],"meta":{"cursor":"eyJjdXJzb3IiOiJuZXh0In0"}},"summary":"First page of fee schedules","description":"Paginated list with a cursor for the next page."},"components/examples/response-fee-schedule-single-example":{"id":"components/examples/response-fee-schedule-single-example","value":{"data":{"id":"7c9e6679-7425-40de-944b-e07fc1f90ae7","name":"OHSA - MoH","patient_friendly_name":"Oral Health Services Adolescents (OHSA)","is_active":true,"site_id":null,"account_code":"200","funding":{"type":"insurance_funded","scheme":"nz_moh_ohsa","claim_timing":"on_completion"},"default_appointment_duration":{"exam_minutes":30,"scale_and_polish_minutes":30,"exam_scale_and_polish_minutes":30,"emergency_minutes":30},"patient_default":{"recall":{"dentist_interval_months":12,"hygienist_interval_months":12,"method":"email"},"communication":{"is_email_enabled":true,"is_sms_enabled":true}},"membership":{"monthly_fee":0,"exam_appointments_included":0,"hygiene_appointments_included":0},"created_at":"2024-04-01T00:00:00Z","updated_at":"2026-01-20T08:45:00Z"}},"summary":"Fee schedule","description":"A fee schedule configured for the practice."},"components/examples/response-invoice-list-example":{"id":"components/examples/response-invoice-list-example","value":{"data":[{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","patient_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","site_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","reference":"00103","invoice_amount":150,"invoice_amount_outstanding":50,"patient_owed_amount":20,"insurance_owed_amount":10,"insurance_paid_amount":5,"pending_payments_amount":5,"tax_amount":10,"discount_amount":10,"is_paid":false,"paid_on":null,"is_editable":false,"created_by":"7c9e6679-7425-40de-944b-e07fc1f90ae7","created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"},{"id":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","patient_id":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","site_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","reference":"00103","invoice_amount":150,"invoice_amount_outstanding":0,"patient_owed_amount":150,"insurance_owed_amount":0,"insurance_paid_amount":0,"pending_payments_amount":0,"tax_amount":0,"discount_amount":0,"is_paid":true,"paid_on":"2026-01-18","is_editable":true,"created_by":"7c9e6679-7425-40de-944b-e07fc1f90ae7","created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"}],"meta":{"cursor":"eyJjdXJzb3IiOiJuZXh0In0"}},"summary":"First page of invoices","description":"Paginated list with cursor for the next page."},"components/examples/response-invoice-single-example":{"id":"components/examples/response-invoice-single-example","value":{"data":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","patient_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","site_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","reference":"00103","invoice_amount":150,"invoice_amount_outstanding":50,"patient_owed_amount":20,"insurance_owed_amount":10,"insurance_paid_amount":5,"pending_payments_amount":5,"tax_amount":10,"discount_amount":10,"is_paid":false,"paid_on":null,"is_editable":false,"created_by":"7c9e6679-7425-40de-944b-e07fc1f90ae7","created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"}},"summary":"Single invoice","description":"Wrapper returned by get, create, or update invoice."},"components/examples/response-invoice-invoice-item-list-example":{"id":"components/examples/response-invoice-invoice-item-list-example","value":{"data":[{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","pricing":{"discount_amount":10,"insurance_expected":10,"item_price":10,"total_price":10},"health_provider":{"is_provider_charge":false,"provider_name":"nhs"},"name":"Example name","quantity":1,"treatment_code":"example","invoice_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","practitioner_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","sundry_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","treatment_plan_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","treatment_plan_item_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","created_by_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","created_at":"2025-06-01T08:00:00Z","updated_at":"2025-06-01T08:00:00Z"}],"meta":{"cursor":"eyJjcmVhdGVkX2F0IjoiMjAyNS0wOC0xMlQxMTowMDowMFoifQ"}},"summary":"First page of invoice items","description":"Paginated list with cursor for the next page."},"components/examples/response-nhs-contract-list-example":{"id":"components/examples/response-nhs-contract-list-example","value":{"data":[{"id":"74299a51-bb9a-47eb-9524-20ec9c3958a8","name":"Main Surgery NHS Contract","is_active":true,"site_id":"a11df716-ce65-4210-be87-8b8ec448f85c","nhs_contract_number":"1234567890","nhs_site_id":"12345","nhs_location_id":"200006","start_date":"2025-04-01","end_date":null,"is_pds_plus":false,"notes":null,"created_at":"2025-01-10T09:00:00Z","updated_at":"2026-08-20T11:20:00Z"},{"id":"c1d2e3f4-a5b6-7890-cdef-123456789abc","name":"Previous Main Surgery Contract","is_active":false,"site_id":null,"nhs_contract_number":"1234567891","nhs_site_id":"12345","nhs_location_id":"200006","start_date":"2024-04-01","end_date":"2026-03-31","is_pds_plus":false,"notes":"Historical contract","created_at":"2024-02-01T08:30:00Z","updated_at":"2026-04-02T10:15:00Z"}],"meta":{"cursor":"eyJjdXJzb3IiOiJuZXh0In0"}},"summary":"First page of NHS contracts","description":"Paginated list with a cursor for the next page."},"components/examples/response-nhs-contract-single-example":{"id":"components/examples/response-nhs-contract-single-example","value":{"data":{"id":"74299a51-bb9a-47eb-9524-20ec9c3958a8","name":"Main Surgery NHS Contract","is_active":true,"site_id":"a11df716-ce65-4210-be87-8b8ec448f85c","nhs_contract_number":"1234567890","nhs_site_id":"12345","nhs_location_id":"200006","start_date":"2025-04-01","end_date":null,"is_pds_plus":false,"notes":null,"created_at":"2025-01-10T09:00:00Z","updated_at":"2026-08-20T11:20:00Z"}},"summary":"NHS contract","description":"An NHS contract configured for the practice."},"components/examples/response-calendar-zone-list-example":{"id":"components/examples/response-calendar-zone-list-example","value":{"data":[{"id":"9b2f4c1e-3d5a-4e8b-a7c6-1f2e3d4c5b6a","title":"Emergency slots","start_time":"2026-01-05T09:00:00Z","finish_time":"2026-01-05T12:00:00Z","practitioner":{"id":"550e8400-e29b-41d4-a716-446655440003","name":"Dr. John Smith"},"room_id":null,"zone_group":{"id":"0f8fad5b-d9cb-469f-a165-70867728950e","name":"Emergencies"},"created_at":"2025-12-01T10:15:00Z","updated_at":"2025-12-01T10:15:00Z"},{"id":"3c4d5e6f-7a8b-4c9d-8e0f-1a2b3c4d5e6f","title":"Hygiene clinic","start_time":"2026-01-06T13:00:00Z","finish_time":"2026-01-06T17:00:00Z","practitioner":null,"room_id":"550e8400-e29b-41d4-a716-446655440004","zone_group":null,"created_at":null,"updated_at":null}],"meta":{"cursor":"eyJjdXJzb3IiOiJuZXh0In0"}},"summary":"First page of calendar zones","description":"Paginated list with a cursor for the next page."},"components/examples/response-calendar-zone-single-example":{"id":"components/examples/response-calendar-zone-single-example","value":{"data":{"id":"9b2f4c1e-3d5a-4e8b-a7c6-1f2e3d4c5b6a","title":"Emergency slots","start_time":"2026-01-05T09:00:00Z","finish_time":"2026-01-05T12:00:00Z","practitioner":{"id":"550e8400-e29b-41d4-a716-446655440003","name":"Dr. John Smith"},"room_id":null,"zone_group":{"id":"0f8fad5b-d9cb-469f-a165-70867728950e","name":"Emergencies"},"created_at":"2025-12-01T10:15:00Z","updated_at":"2025-12-01T10:15:00Z"}},"summary":"Single calendar zone","description":"One calendar zone scheduled for a practitioner."},"components/examples/response-treatment-category-list-example":{"id":"components/examples/response-treatment-category-list-example","value":{"data":[{"id":"4ee0fa3e-12f4-4942-9347-1702eb89ebcc","name":"Diagnostic Related Services","created_at":"2026-01-05T09:12:44Z","updated_at":"2026-10-02T14:03:10Z"},{"id":"9a2b3c4d-5e6f-4081-92a3-b4c5d6e7f809","name":"Restorative","created_at":"2025-06-01T08:00:00Z","updated_at":"2025-06-01T08:00:00Z"},{"id":"09b2e37e-8f42-4676-adf3-cb97fc9ee3e6","name":null,"created_at":"2025-05-01T08:00:00Z","updated_at":"2025-05-01T08:00:00Z"}],"meta":{"cursor":"eyJjcmVhdGVkX2F0IjoiMjAyNS0wNi0wMVQwODowMDowMFoifQ"}},"summary":"First page of treatment categories","description":"Paginated list with cursor for the next page. Categories may have a null name."},"components/examples/response-treatment-category-single-example":{"id":"components/examples/response-treatment-category-single-example","value":{"data":{"id":"4ee0fa3e-12f4-4942-9347-1702eb89ebcc","name":"Diagnostic Related Services","created_at":"2026-01-05T09:12:44Z","updated_at":"2026-10-02T14:03:10Z"}},"summary":"Single treatment category","description":"One treatment category in the practice catalogue."},"components/examples/response-treatment-plan-list-example":{"id":"components/examples/response-treatment-plan-list-example","value":{"data":[{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","patient_id":"ea845d0d-d6d7-4dd4-8321-1bd803c897e8","practitioner_id":"c8e79da4-e253-4887-8084-04786bff7e4f","site_id":"2836b794-0d77-4788-b06f-da6927cab30d","health_provider":[{"provider_name":"nhs","uda_value":1.5,"completed_uda_value":3},{"provider_name":"private","treatment_value":50}],"start_date":"2026-06-01","end_date":"2026-10-01","completed_at":"2026-07-01T08:00:00Z","is_completed":true,"created_at":"2026-06-01T08:00:00Z","updated_at":"2026-10-01T08:00:00Z"}],"meta":{"cursor":"eyJjcmVhdGVkX2F0IjoiMjAyNS0wOC0xMlQxMTowMDowMFoifQ"}},"summary":"First page of treatment plans","description":"Paginated list with cursor for the next page."},"components/examples/response-treatment-plan-single-example":{"id":"components/examples/response-treatment-plan-single-example","value":{"data":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","patient_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","practitioner_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","site_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","health_provider":[{"provider_name":"nhs","uda_value":1.5,"completed_uda_value":3}],"start_date":"2026-06-01","end_date":null,"completed_at":null,"is_completed":false,"created_at":"2026-06-01T08:00:00Z","updated_at":"2026-10-01T08:00:00Z"}},"summary":"Single treatment plan","description":"Wrapper returned by get treatment plan."},"components/examples/response-treatment-plan-treatment-plan-item-list-example":{"id":"components/examples/response-treatment-plan-treatment-plan-item-list-example","value":{"data":[{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","patient_id":"9efcb282-8f4f-4ac1-9259-d4e3fe9b6531","practitioner_id":"0930501c-aafd-45e7-90c3-76498ba2d126","fee_schedule_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","referrer_id":"e1d854af-15db-4482-8e29-39e74a6c7f75","invoice_id":"10548353-ea10-451f-beac-9b5858a87e01","treatment_appointment_id":"a58310cd-5473-421e-b6ad-ff31f647140d","treatment_id":"68adfa9e-a3c9-47c8-812c-3fe55640b560","treatment_plan_id":"a2f6bdbb-ac9b-4a24-8136-98f1c06fbb89","nomenclature":"Acute Mucosal Infection","patient_friendly_nomenclature":"Urgent/Emergency Assessment","price":10,"is_charged":false,"is_completed":true,"completed_at":"2025-06-01T08:00:00Z","duration_minutes":30,"notes":"<p>This is a note</p>","custom_fields":[{"id":"e4b5cd1e-4a43-46ce-bdb0-fe75f2e8cd14","value":true}],"clinical":{"region":"tooth","surfaces":[1],"teeth":["LR4"]},"health_provider":{"provider_name":"nhs","provider_treatment_category":"9306","uda_band":2},"created_at":"2025-06-01T08:00:00Z","updated_at":"2025-06-01T08:00:00Z"}],"meta":{"cursor":"eyJjcmVhdGVkX2F0IjoiMjAyNS0wOC0xMlQxMTowMDowMFoifQ"}},"summary":"First page of treatment plan items","description":"Paginated list with cursor for the next page."},"components/examples/response-treatment-list-example":{"id":"components/examples/response-treatment-list-example","value":{"data":[{"id":"94525b9c-af18-40a5-905f-f539f1c45f6f","code":"100","nomenclature":"Exam","description":"An evaluation performed on a patient of record to determine any changes in the patient's dental and medical health status.","patient_nomenclature":"Examination","patient_description":null,"treatment_category_id":"4ee0fa3e-12f4-4942-9347-1702eb89ebcc","is_active":true,"is_displayed_on_invoice":true,"region":"patient","owner":"practice","health_provider":{"provider_name":"nhs","provider_treatment_category":"9317","uda_band":1},"created_at":"2026-01-05T09:12:44Z","updated_at":"2026-10-02T14:03:10Z"},{"id":"a1b2c3d4-e5f6-4789-a012-3456789abcde","code":"SYS001","nomenclature":"Unerupted","description":null,"patient_nomenclature":null,"patient_description":null,"treatment_category_id":"09b2e37e-8f42-4676-adf3-cb97fc9ee3e6","is_active":true,"is_displayed_on_invoice":false,"region":"tooth","owner":"system","created_at":"2025-06-01T08:00:00Z","updated_at":"2025-06-01T08:00:00Z"}],"meta":{"cursor":"eyJjcmVhdGVkX2F0IjoiMjAyNS0wNi0wMVQwODowMDowMFoifQ"}},"summary":"First page of treatments","description":"Paginated list with cursor for the next page. Includes a practice-authored treatment and a Dentally-managed system treatment."},"components/examples/response-treatment-single-example":{"id":"components/examples/response-treatment-single-example","value":{"data":{"id":"94525b9c-af18-40a5-905f-f539f1c45f6f","code":"100","nomenclature":"Exam","description":"An evaluation performed on a patient of record to determine any changes in the patient's dental and medical health status.","patient_nomenclature":"Examination","patient_description":null,"treatment_category_id":"4ee0fa3e-12f4-4942-9347-1702eb89ebcc","is_active":true,"is_displayed_on_invoice":true,"region":"patient","owner":"practice","health_provider":{"provider_name":"nhs","provider_treatment_category":"9317","uda_band":1},"created_at":"2026-01-05T09:12:44Z","updated_at":"2026-10-02T14:03:10Z"}},"summary":"Single treatment","description":"One treatment in the practice catalogue."},"components/examples/response-subscription-list-example":{"id":"components/examples/response-subscription-list-example","value":{"data":[{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","partner_id":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","product_id":"7c9e6679-7425-40de-944b-e07fc1f90ae7","practice_id":"6657287f-28fc-4ce7-9452-4ea8c27aa7b9","site_id":"0c28be69-430a-422e-a4fc-8b1d512a2fbe","status":"Completed","created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z","deleted_at":"2027-04-16T10:00:00Z"},{"id":"07558d56-1225-49b5-90fa-ab8922b6fd30","partner_id":"d05ff51d-e2be-4a78-8592-41baa8cd6cba","product_id":"2dec7d43-a7de-45d1-a46e-7764ffc17bac","practice_id":"686cd614-9c6e-480b-a55b-b499207782b2","site_id":"abc61d6c-0b23-4795-aee4-1c2e12740b59","status":"Pending","created_at":"2025-07-01T08:00:00Z","updated_at":"2026-02-18T12:00:00Z","deleted_at":"2027-05-16T10:00:00Z"}],"meta":{"cursor":"eyJjdXJzb3IiOiJuZXh0In0"}},"summary":"First page of subscriptions","description":"Paginated list with cursor for the next page."},"components/examples/response-subscription-single-example":{"id":"components/examples/response-subscription-single-example","value":{"data":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","partner_id":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","product_id":"7c9e6679-7425-40de-944b-e07fc1f90ae7","practice_id":"6657287f-28fc-4ce7-9452-4ea8c27aa7b9","site_id":"0c28be69-430a-422e-a4fc-8b1d512a2fbe","status":"Completed","created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z","deleted_at":"2027-04-16T10:00:00Z"}},"summary":"Single subscription","description":"Wrapper returned by get subscription."},"paths/~1appointments/get/responses/200/content/application~1json/examples/firstPage":{"value":{"data":[{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","patient":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","first_name":"Jane","middle_name":"Marie","last_name":"Doe"},"start_time":"2025-06-01T08:00:00Z","finish_time":"2025-06-01T09:00:00Z","duration_minutes":60,"reason":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","name":"Routine dental check-up"},"notes":"Patient requested a morning appointment.","practitioner":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","name":"Dr. Smith"},"site_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","state":"Pending","cancelled_at":null,"payment_plan_id":null,"room_id":null,"created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"},{"id":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","patient":{"id":"7c9e6679-7425-40de-944b-e07fc1f90ae7","first_name":"John","middle_name":null,"last_name":"Smith"},"start_time":"2025-09-01T11:00:00Z","finish_time":"2025-09-01T11:45:00Z","duration_minutes":45,"notes":"Follow-up appointment.","practitioner":{"id":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","name":"Dr. Johnson"},"site_id":"7c9e6679-7425-40de-944b-e07fc1f90ae7","state":"Confirmed","cancelled_at":null,"payment_plan_id":null,"room_id":null,"created_at":"2025-08-05T10:30:00Z","updated_at":"2025-08-20T16:15:00Z"}],"meta":{"cursor":"eyJjdXJzb3IiOiJuZXh0In0"}},"key":"firstPage","summary":"First page of appointments","description":"Paginated list with cursor for the next page.","id":"paths/~1appointments/get/responses/200/content/application~1json/examples/firstPage"},"paths/~1appointments/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1appointments/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1appointments/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1appointments/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1appointments/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1appointments/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1appointments/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1appointments/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1appointments/post/responses/201/content/application~1json/examples/appointment":{"value":{"data":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","patient":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","first_name":"Jane","middle_name":"Marie","last_name":"Doe"},"start_time":"2025-06-01T08:00:00Z","finish_time":"2025-06-01T09:00:00Z","duration_minutes":60,"reason":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","name":"Routine dental check-up"},"notes":"Patient requested a morning appointment.","practitioner":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","name":"Dr. Smith"},"site_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","state":"Pending","cancelled_at":null,"payment_plan_id":null,"room_id":null,"created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"}},"key":"appointment","summary":"Single appointment","description":"Wrapper returned by get, create, or update appointment.","id":"paths/~1appointments/post/responses/201/content/application~1json/examples/appointment"},"paths/~1appointments/post/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1appointments/post/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1appointments/post/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1appointments/post/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1appointments/post/responses/422/content/application~1problem+json/examples/unprocessableEntity":{"value":{"type":"https://api.dentally.co/problems/unprocessable-entity","title":"Unprocessable Entity","status":422,"detail":"start_time must be before finish_time.","instance":"/v2/appointments"},"key":"unprocessableEntity","summary":"Validation error","description":"RFC 7807 problem details when the request is well-formed but fails business validation.","id":"paths/~1appointments/post/responses/422/content/application~1problem+json/examples/unprocessableEntity"},"paths/~1appointments/post/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1appointments/post/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1appointments/post/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1appointments/post/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1appointments~1{id}/get/responses/200/content/application~1json/examples/appointment":{"value":{"data":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","patient":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","first_name":"Jane","middle_name":"Marie","last_name":"Doe"},"start_time":"2025-06-01T08:00:00Z","finish_time":"2025-06-01T09:00:00Z","duration_minutes":60,"reason":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","name":"Routine dental check-up"},"notes":"Patient requested a morning appointment.","practitioner":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","name":"Dr. Smith"},"site_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","state":"Pending","cancelled_at":null,"payment_plan_id":null,"room_id":null,"created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"}},"key":"appointment","summary":"Single appointment","description":"Wrapper returned by get, create, or update appointment.","id":"paths/~1appointments~1{id}/get/responses/200/content/application~1json/examples/appointment"},"paths/~1appointments~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1appointments~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1appointments~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1appointments~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1appointments~1{id}/get/responses/404/content/application~1problem+json/examples/notFound":{"value":{"type":"https://api.dentally.co/problems/not-found","title":"Not Found","status":404,"detail":"No site found for the given id in this practice.","instance":"/v2/sites/8c7f4c9b-0e3d-5f2a-b6c7-4d8e9f0a1b2c"},"key":"notFound","summary":"Resource not found","description":"RFC 7807 problem details when no resource matches the given identifier.","id":"paths/~1appointments~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"},"paths/~1appointments~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1appointments~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1appointments~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1appointments~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1appointments~1{id}/patch/responses/200/content/application~1json/examples/appointment":{"value":{"data":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","patient":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","first_name":"Jane","middle_name":"Marie","last_name":"Doe"},"start_time":"2025-06-01T08:00:00Z","finish_time":"2025-06-01T09:00:00Z","duration_minutes":60,"reason":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","name":"Routine dental check-up"},"notes":"Patient requested a morning appointment.","practitioner":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","name":"Dr. Smith"},"site_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","state":"Pending","cancelled_at":null,"payment_plan_id":null,"room_id":null,"created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"}},"key":"appointment","summary":"Single appointment","description":"Wrapper returned by get, create, or update appointment.","id":"paths/~1appointments~1{id}/patch/responses/200/content/application~1json/examples/appointment"},"paths/~1appointments~1{id}/patch/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1appointments~1{id}/patch/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1appointments~1{id}/patch/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1appointments~1{id}/patch/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1appointments~1{id}/patch/responses/404/content/application~1problem+json/examples/notFound":{"value":{"type":"https://api.dentally.co/problems/not-found","title":"Not Found","status":404,"detail":"No site found for the given id in this practice.","instance":"/v2/sites/8c7f4c9b-0e3d-5f2a-b6c7-4d8e9f0a1b2c"},"key":"notFound","summary":"Resource not found","description":"RFC 7807 problem details when no resource matches the given identifier.","id":"paths/~1appointments~1{id}/patch/responses/404/content/application~1problem+json/examples/notFound"},"paths/~1appointments~1{id}/patch/responses/422/content/application~1problem+json/examples/unprocessableEntity":{"value":{"type":"https://api.dentally.co/problems/unprocessable-entity","title":"Unprocessable Entity","status":422,"detail":"start_time must be before finish_time.","instance":"/v2/appointments"},"key":"unprocessableEntity","summary":"Validation error","description":"RFC 7807 problem details when the request is well-formed but fails business validation.","id":"paths/~1appointments~1{id}/patch/responses/422/content/application~1problem+json/examples/unprocessableEntity"},"paths/~1appointments~1{id}/patch/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1appointments~1{id}/patch/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1appointments~1{id}/patch/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1appointments~1{id}/patch/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1appointments~1{id}~1cancel/post/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1appointments~1{id}~1cancel/post/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1appointments~1{id}~1cancel/post/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1appointments~1{id}~1cancel/post/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1appointments~1{id}~1cancel/post/responses/404/content/application~1problem+json/examples/notFound":{"value":{"type":"https://api.dentally.co/problems/not-found","title":"Not Found","status":404,"detail":"No site found for the given id in this practice.","instance":"/v2/sites/8c7f4c9b-0e3d-5f2a-b6c7-4d8e9f0a1b2c"},"key":"notFound","summary":"Resource not found","description":"RFC 7807 problem details when no resource matches the given identifier.","id":"paths/~1appointments~1{id}~1cancel/post/responses/404/content/application~1problem+json/examples/notFound"},"paths/~1appointments~1{id}~1cancel/post/responses/422/content/application~1problem+json/examples/unprocessableEntity":{"value":{"type":"https://api.dentally.co/problems/unprocessable-entity","title":"Unprocessable Entity","status":422,"detail":"start_time must be before finish_time.","instance":"/v2/appointments"},"key":"unprocessableEntity","summary":"Validation error","description":"RFC 7807 problem details when the request is well-formed but fails business validation.","id":"paths/~1appointments~1{id}~1cancel/post/responses/422/content/application~1problem+json/examples/unprocessableEntity"},"paths/~1appointments~1{id}~1cancel/post/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1appointments~1{id}~1cancel/post/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1appointments~1{id}~1cancel/post/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1appointments~1{id}~1cancel/post/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1appointment_reasons/get/responses/200/content/application~1json/examples/firstPage":{"value":{"data":[{"id":"4EE0FA3E-12F4-4942-9347-1702EB89EBCC","name":"Exam + Scale & Polish","is_active":true,"created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"},{"id":"9A2B3C4D-5E6F-7081-92A3-B4C5D6E7F809","name":"New Patient Consultation","is_active":true,"created_at":"2025-08-12T11:00:00Z","updated_at":"2026-01-05T09:45:00Z"}],"meta":{"cursor":"eyJjdXJzb3IiOiJuZXh0In0"}},"key":"firstPage","summary":"First page of appointment reasons","description":"Paginated list with cursor for the next page.","id":"paths/~1appointment_reasons/get/responses/200/content/application~1json/examples/firstPage"},"paths/~1appointment_reasons/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1appointment_reasons/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1appointment_reasons/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1appointment_reasons/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1appointment_reasons/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1appointment_reasons/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1appointment_reasons/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1appointment_reasons/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1appointment_cancellation_reasons/get/responses/200/content/application~1json/examples/firstPage":{"value":{"data":[{"id":"AE492D60-8970-4AA0-8D5C-84FFAF4A16A3","name":"Patient - Illness","type":"cancelled","is_active":true,"created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"},{"id":"EFB3701D-649E-407F-860E-D08C31FBF2F4","name":"Practice - Staff Issue","type":"cancelled","is_active":true,"created_at":"2025-08-12T11:00:00Z","updated_at":"2026-01-05T09:45:00Z"}],"meta":{"cursor":"eyJjdXJzb3IiOiJuZXh0In0"}},"key":"firstPage","summary":"First page of appointment cancellation reasons","description":"Paginated list with cursor for the next page.","id":"paths/~1appointment_cancellation_reasons/get/responses/200/content/application~1json/examples/firstPage"},"paths/~1appointment_cancellation_reasons/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1appointment_cancellation_reasons/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1appointment_cancellation_reasons/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1appointment_cancellation_reasons/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1appointment_cancellation_reasons/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1appointment_cancellation_reasons/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1appointment_cancellation_reasons/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1appointment_cancellation_reasons/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1calendar_zones/get/responses/200/content/application~1json/examples/firstPage":{"value":{"data":[{"id":"9b2f4c1e-3d5a-4e8b-a7c6-1f2e3d4c5b6a","title":"Emergency slots","start_time":"2026-01-05T09:00:00Z","finish_time":"2026-01-05T12:00:00Z","practitioner":{"id":"550e8400-e29b-41d4-a716-446655440003","name":"Dr. John Smith"},"room_id":null,"zone_group":{"id":"0f8fad5b-d9cb-469f-a165-70867728950e","name":"Emergencies"},"created_at":"2025-12-01T10:15:00Z","updated_at":"2025-12-01T10:15:00Z"},{"id":"3c4d5e6f-7a8b-4c9d-8e0f-1a2b3c4d5e6f","title":"Hygiene clinic","start_time":"2026-01-06T13:00:00Z","finish_time":"2026-01-06T17:00:00Z","practitioner":null,"room_id":"550e8400-e29b-41d4-a716-446655440004","zone_group":null,"created_at":null,"updated_at":null}],"meta":{"cursor":"eyJjdXJzb3IiOiJuZXh0In0"}},"key":"firstPage","summary":"First page of calendar zones","description":"Paginated list with a cursor for the next page.","id":"paths/~1calendar_zones/get/responses/200/content/application~1json/examples/firstPage"},"paths/~1calendar_zones/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1calendar_zones/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1calendar_zones/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1calendar_zones/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1calendar_zones/get/responses/422/content/application~1problem+json/examples/unprocessableEntity":{"value":{"type":"https://api.dentally.co/problems/unprocessable-entity","title":"Unprocessable Entity","status":422,"detail":"start_time must be before finish_time.","instance":"/v2/appointments"},"key":"unprocessableEntity","summary":"Validation error","description":"RFC 7807 problem details when the request is well-formed but fails business validation.","id":"paths/~1calendar_zones/get/responses/422/content/application~1problem+json/examples/unprocessableEntity"},"paths/~1calendar_zones/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1calendar_zones/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1calendar_zones/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1calendar_zones/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1calendar_zones~1{id}/get/responses/200/content/application~1json/examples/calendarZone":{"value":{"data":{"id":"9b2f4c1e-3d5a-4e8b-a7c6-1f2e3d4c5b6a","title":"Emergency slots","start_time":"2026-01-05T09:00:00Z","finish_time":"2026-01-05T12:00:00Z","practitioner":{"id":"550e8400-e29b-41d4-a716-446655440003","name":"Dr. John Smith"},"room_id":null,"zone_group":{"id":"0f8fad5b-d9cb-469f-a165-70867728950e","name":"Emergencies"},"created_at":"2025-12-01T10:15:00Z","updated_at":"2025-12-01T10:15:00Z"}},"key":"calendarZone","summary":"Single calendar zone","description":"One calendar zone scheduled for a practitioner.","id":"paths/~1calendar_zones~1{id}/get/responses/200/content/application~1json/examples/calendarZone"},"paths/~1calendar_zones~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1calendar_zones~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1calendar_zones~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1calendar_zones~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1calendar_zones~1{id}/get/responses/404/content/application~1problem+json/examples/notFound":{"value":{"type":"https://api.dentally.co/problems/not-found","title":"Not Found","status":404,"detail":"No site found for the given id in this practice.","instance":"/v2/sites/8c7f4c9b-0e3d-5f2a-b6c7-4d8e9f0a1b2c"},"key":"notFound","summary":"Resource not found","description":"RFC 7807 problem details when no resource matches the given identifier.","id":"paths/~1calendar_zones~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"},"paths/~1calendar_zones~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1calendar_zones~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1calendar_zones~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1calendar_zones~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1patients/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1patients/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1patients/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1patients/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1patients/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1patients/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1patients/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1patients/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1patients/post/responses/201/content/application~1json/examples/patient":{"value":{"data":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","is_active":true,"is_appointment_booking_prevented":false,"preferred_phone_type":"mobile","first_name":"Jane","last_name":"Doe","date_of_birth":"1990-04-12","title":"Ms","ethnicity":"01","payment_plan_id":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","site_id":"7c9e6679-7425-40de-944b-e07fc1f90ae7","address":{"address_line_1":"42 High Street","locality":"London","administrative_area":"Greater London","postal_code":"EC1A 1BB"},"email_address":"jane.doe@example.com","biological_sex":"female","phones":[{"phone_type":"mobile","phone_number":"+447911123456","phone_country":"GB","phone_number_normalized":"+447911123456"}],"communication":{"is_marketing_enabled":true,"is_email_enabled":true,"is_sms_enabled":false},"recall":{"dentist":{"date":"2026-03-15","interval_months":6},"hygienist":{"date":"2026-04-01","interval_months":6},"method":"email"},"archived_reason":null,"is_bad_debtor":false,"created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"}},"key":"patient","summary":"Single patient","description":"Wrapper returned by get, create, or update patient.","id":"paths/~1patients/post/responses/201/content/application~1json/examples/patient"},"paths/~1patients/post/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1patients/post/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1patients/post/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1patients/post/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1patients/post/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1patients/post/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1patients/post/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1patients/post/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1patients~1search/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1patients~1search/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1patients~1search/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1patients~1search/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1patients~1search/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1patients~1search/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1patients~1search/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1patients~1search/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1patients~1{id}/get/responses/200/content/application~1json/examples/patient":{"value":{"data":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","is_active":true,"is_appointment_booking_prevented":false,"preferred_phone_type":"mobile","first_name":"Jane","last_name":"Doe","date_of_birth":"1990-04-12","title":"Ms","ethnicity":"01","payment_plan_id":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","site_id":"7c9e6679-7425-40de-944b-e07fc1f90ae7","address":{"address_line_1":"42 High Street","locality":"London","administrative_area":"Greater London","postal_code":"EC1A 1BB"},"email_address":"jane.doe@example.com","biological_sex":"female","phones":[{"phone_type":"mobile","phone_number":"+447911123456","phone_country":"GB","phone_number_normalized":"+447911123456"}],"communication":{"is_marketing_enabled":true,"is_email_enabled":true,"is_sms_enabled":false},"recall":{"dentist":{"date":"2026-03-15","interval_months":6},"hygienist":{"date":"2026-04-01","interval_months":6},"method":"email"},"archived_reason":null,"is_bad_debtor":false,"created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"}},"key":"patient","summary":"Single patient","description":"Wrapper returned by get, create, or update patient.","id":"paths/~1patients~1{id}/get/responses/200/content/application~1json/examples/patient"},"paths/~1patients~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1patients~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1patients~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1patients~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1patients~1{id}/get/responses/404/content/application~1problem+json/examples/notFound":{"value":{"type":"https://api.dentally.co/problems/not-found","title":"Not Found","status":404,"detail":"No site found for the given id in this practice.","instance":"/v2/sites/8c7f4c9b-0e3d-5f2a-b6c7-4d8e9f0a1b2c"},"key":"notFound","summary":"Resource not found","description":"RFC 7807 problem details when no resource matches the given identifier.","id":"paths/~1patients~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"},"paths/~1patients~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1patients~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1patients~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1patients~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1patients~1{id}/patch/responses/200/content/application~1json/examples/patient":{"value":{"data":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","is_active":true,"is_appointment_booking_prevented":false,"preferred_phone_type":"mobile","first_name":"Jane","last_name":"Doe","date_of_birth":"1990-04-12","title":"Ms","ethnicity":"01","payment_plan_id":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","site_id":"7c9e6679-7425-40de-944b-e07fc1f90ae7","address":{"address_line_1":"42 High Street","locality":"London","administrative_area":"Greater London","postal_code":"EC1A 1BB"},"email_address":"jane.doe@example.com","biological_sex":"female","phones":[{"phone_type":"mobile","phone_number":"+447911123456","phone_country":"GB","phone_number_normalized":"+447911123456"}],"communication":{"is_marketing_enabled":true,"is_email_enabled":true,"is_sms_enabled":false},"recall":{"dentist":{"date":"2026-03-15","interval_months":6},"hygienist":{"date":"2026-04-01","interval_months":6},"method":"email"},"archived_reason":null,"is_bad_debtor":false,"created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"}},"key":"patient","summary":"Single patient","description":"Wrapper returned by get, create, or update patient.","id":"paths/~1patients~1{id}/patch/responses/200/content/application~1json/examples/patient"},"paths/~1patients~1{id}/patch/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1patients~1{id}/patch/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1patients~1{id}/patch/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1patients~1{id}/patch/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1patients~1{id}/patch/responses/404/content/application~1problem+json/examples/notFound":{"value":{"type":"https://api.dentally.co/problems/not-found","title":"Not Found","status":404,"detail":"No site found for the given id in this practice.","instance":"/v2/sites/8c7f4c9b-0e3d-5f2a-b6c7-4d8e9f0a1b2c"},"key":"notFound","summary":"Resource not found","description":"RFC 7807 problem details when no resource matches the given identifier.","id":"paths/~1patients~1{id}/patch/responses/404/content/application~1problem+json/examples/notFound"},"paths/~1patients~1{id}/patch/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1patients~1{id}/patch/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1patients~1{id}/patch/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1patients~1{id}/patch/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1patients~1{id}~1account/get/responses/200/content/application~1json/examples/patientAccount":{"value":{"data":{"owning_patient_id":"550e8400-e29b-41d4-a716-446655440004","balance_amount":-125.5,"patient_balance_amount":-100.5,"pending_payments_amount":-25,"deposit_amount":0,"created_at":"2026-01-05T09:12:44Z","updated_at":"2026-10-02T14:03:10Z"}},"key":"patientAccount","summary":"Patient account balance","description":"Example where the patient owes the practice: monetary amounts in this sample are negative. Accounts in credit have positive amounts.","id":"paths/~1patients~1{id}~1account/get/responses/200/content/application~1json/examples/patientAccount"},"paths/~1patients~1{id}~1account/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1patients~1{id}~1account/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1patients~1{id}~1account/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1patients~1{id}~1account/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1patients~1{id}~1account/get/responses/404/content/application~1problem+json/examples/notFound":{"value":{"type":"https://api.dentally.co/problems/not-found","title":"Not Found","status":404,"detail":"No site found for the given id in this practice.","instance":"/v2/sites/8c7f4c9b-0e3d-5f2a-b6c7-4d8e9f0a1b2c"},"key":"notFound","summary":"Resource not found","description":"RFC 7807 problem details when no resource matches the given identifier.","id":"paths/~1patients~1{id}~1account/get/responses/404/content/application~1problem+json/examples/notFound"},"paths/~1patients~1{id}~1account/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1patients~1{id}~1account/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1patients~1{id}~1account/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1patients~1{id}~1account/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1practitioners/get/responses/200/content/application~1json/examples/firstPage":{"value":{"data":[{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","name":"Jane Doe","user_id":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","site_id":"7c9e6679-7425-40de-944b-e07fc1f90ae7","role":"Hygienist","nhs_number":"9998887777","gdc_number":"123456","created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"},{"id":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","name":"John Smith","user_id":"7c9e6679-7425-40de-944b-e07fc1f90ae7","site_id":"7c9e6679-7425-40de-944b-e07fc1f90ae7","role":null,"nhs_number":null,"gdc_number":null,"created_at":"2025-08-12T11:00:00Z","updated_at":"2026-01-05T09:45:00Z"}],"meta":{"cursor":"eyJjdXJzb3IiOiJuZXh0In0"}},"key":"firstPage","summary":"First page of practitioners","description":"Paginated list with cursor for the next page.","id":"paths/~1practitioners/get/responses/200/content/application~1json/examples/firstPage"},"paths/~1practitioners/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1practitioners/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1practitioners/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1practitioners/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1practitioners/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1practitioners/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1practitioners/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1practitioners/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1practitioners~1availabilities/get/responses/200/content/application~1json/examples/firstPage":{"value":{"data":[{"start_time":"2031-12-01T09:00:00+00:00","finish_time":"2031-12-01T10:00:00+00:00","practitioner_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},{"start_time":"2031-12-01T10:00:00+00:00","finish_time":"2031-12-01T11:00:00+00:00","practitioner_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"}],"meta":{"cursor":"eyJjdXJzb3IiOiJuZXh0In0"}},"key":"firstPage","summary":"First page of practitioner availability slots","description":"Paginated list of availability slots for the requested practitioners, ordered by start time ascending.","id":"paths/~1practitioners~1availabilities/get/responses/200/content/application~1json/examples/firstPage"},"paths/~1practitioners~1availabilities/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1practitioners~1availabilities/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1practitioners~1availabilities/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1practitioners~1availabilities/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1practitioners~1availabilities/get/responses/422/content/application~1problem+json/examples/unprocessableEntity":{"value":{"type":"https://api.dentally.co/problems/unprocessable-entity","title":"Unprocessable Entity","status":422,"detail":"start_time must be before finish_time.","instance":"/v2/appointments"},"key":"unprocessableEntity","summary":"Validation error","description":"RFC 7807 problem details when the request is well-formed but fails business validation.","id":"paths/~1practitioners~1availabilities/get/responses/422/content/application~1problem+json/examples/unprocessableEntity"},"paths/~1practitioners~1availabilities/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1practitioners~1availabilities/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1practitioners~1availabilities/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1practitioners~1availabilities/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1practitioners~1{id}/get/responses/200/content/application~1json/examples/practitioner":{"value":{"data":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","name":"Jane Doe","user_id":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","site_id":"7c9e6679-7425-40de-944b-e07fc1f90ae7","role":"Therapist","nhs_number":"NHS-001","gdc_number":"123456","created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"}},"key":"practitioner","summary":"Single practitioner","description":"Wrapper returned by get practitioner.","id":"paths/~1practitioners~1{id}/get/responses/200/content/application~1json/examples/practitioner"},"paths/~1practitioners~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1practitioners~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1practitioners~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1practitioners~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1practitioners~1{id}/get/responses/404/content/application~1problem+json/examples/notFound":{"value":{"type":"https://api.dentally.co/problems/not-found","title":"Not Found","status":404,"detail":"No site found for the given id in this practice.","instance":"/v2/sites/8c7f4c9b-0e3d-5f2a-b6c7-4d8e9f0a1b2c"},"key":"notFound","summary":"Resource not found","description":"RFC 7807 problem details when no resource matches the given identifier.","id":"paths/~1practitioners~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"},"paths/~1practitioners~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1practitioners~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1practitioners~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1practitioners~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/200/content/application~1json/examples/firstPage":{"value":{"data":[{"practitioner_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","date":"2025-01-15","is_available":true,"start_time":"09:00","finish_time":"17:30","breaks":[{"name":"Lunch","start_time":"13:00","finish_time":"14:00"}],"created_at":"2025-01-16T00:05:12Z","updated_at":"2025-01-16T00:05:12Z"},{"practitioner_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","date":"2025-01-14","is_available":false,"start_time":null,"finish_time":null,"breaks":[],"created_at":"2025-01-15T00:05:08Z","updated_at":"2025-01-15T00:05:08Z"}],"meta":{"cursor":"eyJjdXJzb3IiOiJuZXh0In0"}},"key":"firstPage","summary":"First page of rota schedule histories","description":"Paginated list of snapshotted rota days for a practitioner, ordered by date descending.","id":"paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/200/content/application~1json/examples/firstPage"},"paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/404/content/application~1problem+json/examples/notFound":{"value":{"type":"https://api.dentally.co/problems/not-found","title":"Not Found","status":404,"detail":"No site found for the given id in this practice.","instance":"/v2/sites/8c7f4c9b-0e3d-5f2a-b6c7-4d8e9f0a1b2c"},"key":"notFound","summary":"Resource not found","description":"RFC 7807 problem details when no resource matches the given identifier.","id":"paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/404/content/application~1problem+json/examples/notFound"},"paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/422/content/application~1problem+json/examples/unprocessableEntity":{"value":{"type":"https://api.dentally.co/problems/unprocessable-entity","title":"Unprocessable Entity","status":422,"detail":"start_time must be before finish_time.","instance":"/v2/appointments"},"key":"unprocessableEntity","summary":"Validation error","description":"RFC 7807 problem details when the request is well-formed but fails business validation.","id":"paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/422/content/application~1problem+json/examples/unprocessableEntity"},"paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1practitioners~1{id}~1rota_schedule_histories/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1sites/get/responses/200/content/application~1json/examples/firstPage":{"value":{"data":[{"id":"8c7f4c9b-0e3d-5f2a-b6c7-4d8e9f0a1b2c","name":"Dentally High Street","address":{"address_line_1":"42 High Street","address_line_2":null,"address_line_3":null,"locality":"Manchester","administrative_area":"Greater Manchester","postal_code":"M1 1AA"},"contact_details":{"email_address":"reception@example.com","phone_number":"+441612345678","website_url":"https://example.com/high-street"},"opening_hours":[{"weekday":"Sunday","open_at":null,"close_at":null},{"weekday":"Monday","open_at":"09:00","close_at":"17:30"},{"weekday":"Tuesday","open_at":"09:00","close_at":"17:30"},{"weekday":"Wednesday","open_at":"09:00","close_at":"17:30"},{"weekday":"Thursday","open_at":"09:00","close_at":"17:30"},{"weekday":"Friday","open_at":"09:00","close_at":"17:00"},{"weekday":"Saturday","open_at":null,"close_at":null}],"created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"},{"id":"2b3c4d5e-6f70-8192-a3b4-c5d6e7f80901","name":"Dentally Riverside","address":{"address_line_1":"10 River Road","address_line_2":"Unit 2","address_line_3":null,"locality":"Salford","administrative_area":"Greater Manchester","postal_code":"M50 1AB"},"contact_details":{"email_address":"riverside@example.com","phone_number":"+441614445566","website_url":null},"opening_hours":[{"weekday":"Sunday","open_at":null,"close_at":null},{"weekday":"Monday","open_at":"08:30","close_at":"18:00"},{"weekday":"Tuesday","open_at":"08:30","close_at":"18:00"},{"weekday":"Wednesday","open_at":"08:30","close_at":"18:00"},{"weekday":"Thursday","open_at":"08:30","close_at":"18:00"},{"weekday":"Friday","open_at":"08:30","close_at":"18:00"},{"weekday":"Saturday","open_at":"09:00","close_at":"13:00"}],"created_at":"2025-08-12T11:00:00Z","updated_at":"2026-01-05T09:45:00Z"}],"meta":{"cursor":"eyJjcmVhdGVkX2F0IjoiMjAyNS0wOC0xMlQxMTowMDowMFoifQ"}},"key":"firstPage","summary":"First page of sites","description":"Paginated list with cursor for the next page.","id":"paths/~1sites/get/responses/200/content/application~1json/examples/firstPage"},"paths/~1sites/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1sites/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1sites/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1sites/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1sites/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1sites/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1sites/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1sites/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1sites~1{id}/get/responses/200/content/application~1json/examples/site":{"value":{"data":{"id":"8c7f4c9b-0e3d-5f2a-b6c7-4d8e9f0a1b2c","name":"Dentally High Street","address":{"address_line_1":"42 High Street","address_line_2":null,"address_line_3":null,"locality":"Manchester","administrative_area":"Greater Manchester","postal_code":"M1 1AA"},"contact_details":{"email_address":"reception@example.com","phone_number":"+441612345678","website_url":"https://example.com/high-street"},"opening_hours":[{"weekday":"Sunday","open_at":null,"close_at":null},{"weekday":"Monday","open_at":"09:00","close_at":"17:30"},{"weekday":"Tuesday","open_at":"09:00","close_at":"17:30"},{"weekday":"Wednesday","open_at":"09:00","close_at":"17:30"},{"weekday":"Thursday","open_at":"09:00","close_at":"17:30"},{"weekday":"Friday","open_at":"09:00","close_at":"17:00"},{"weekday":"Saturday","open_at":null,"close_at":null}],"created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"}},"key":"site","summary":"Single site","description":"Wrapper returned by get site.","id":"paths/~1sites~1{id}/get/responses/200/content/application~1json/examples/site"},"paths/~1sites~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1sites~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1sites~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1sites~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1sites~1{id}/get/responses/404/content/application~1problem+json/examples/notFound":{"value":{"type":"https://api.dentally.co/problems/not-found","title":"Not Found","status":404,"detail":"No site found for the given id in this practice.","instance":"/v2/sites/8c7f4c9b-0e3d-5f2a-b6c7-4d8e9f0a1b2c"},"key":"notFound","summary":"Resource not found","description":"RFC 7807 problem details when no resource matches the given identifier.","id":"paths/~1sites~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"},"paths/~1sites~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1sites~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1sites~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1sites~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1communications/post/requestBody/content/application~1json/examples/send_sms":{"value":{"patient_id":"123e4567-e89b-12d3-a456-426614174000","communication_channel":"sms","body":"Your appointment is scheduled for tomorrow at 3 PM.","message_type":"appointment_reminder","site_id":"123e4567-e89b-12d3-a456-426614174001"},"key":"send_sms","summary":"Send an SMS communication","id":"paths/~1communications/post/requestBody/content/application~1json/examples/send_sms"},"paths/~1communications/post/requestBody/content/application~1json/examples/send_email":{"value":{"patient_id":"123e4567-e89b-12d3-a456-426614174000","communication_channel":"email","body":"Your appointment is scheduled for tomorrow at 3 PM.","html_body":"<p>Your appointment is scheduled for tomorrow at 3 PM.</p>","subject":"Appointment Reminder","message_type":"appointment_confirmation","site_id":"123e4567-e89b-12d3-a456-426614174001"},"key":"send_email","summary":"Send an Email communication","id":"paths/~1communications/post/requestBody/content/application~1json/examples/send_email"},"paths/~1communications/post/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1communications/post/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1communications/post/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1communications/post/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1communications/post/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1communications/post/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1communications/post/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1communications/post/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1communications~1{id}~1reply/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1communications~1{id}~1reply/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1communications~1{id}~1reply/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1communications~1{id}~1reply/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1communications~1{id}~1reply/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1communications~1{id}~1reply/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1communications~1{id}~1reply/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1communications~1{id}~1reply/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1external_communications/post/requestBody/content/application~1json/examples/log_sms":{"value":{"direction":"outbound","patient_id":"123e4567-e89b-12d3-a456-426614174000","communication_channel":"sms","body":"Your appointment is scheduled for tomorrow at 3 PM.","message_type":"appointment_reminder","site_id":"123e4567-e89b-12d3-a456-426614174001"},"key":"log_sms","summary":"Create an SMS communication","id":"paths/~1external_communications/post/requestBody/content/application~1json/examples/log_sms"},"paths/~1external_communications/post/requestBody/content/application~1json/examples/log_sms_reply":{"value":{"direction":"inbound","patient_id":"123e4567-e89b-12d3-a456-426614174000","communication_channel":"sms","body":"Thanks, see you tomorrow at 3 PM.","message_type":"patient_reply","site_id":"123e4567-e89b-12d3-a456-426614174001"},"key":"log_sms_reply","summary":"Create an SMS reply communication","id":"paths/~1external_communications/post/requestBody/content/application~1json/examples/log_sms_reply"},"paths/~1external_communications/post/requestBody/content/application~1json/examples/log_email":{"value":{"direction":"outbound","patient_id":"123e4567-e89b-12d3-a456-426614174000","communication_channel":"email","body":"Your appointment is scheduled for tomorrow at 3 PM.","html_body":"<p>Your appointment is scheduled for tomorrow at 3 PM.</p>","subject":"Appointment Reminder","message_type":"appointment_confirmation","site_id":"123e4567-e89b-12d3-a456-426614174001"},"key":"log_email","summary":"Create an Email communication","id":"paths/~1external_communications/post/requestBody/content/application~1json/examples/log_email"},"paths/~1external_communications/post/requestBody/content/application~1json/examples/log_letter_with_text":{"value":{"direction":"outbound","patient_id":"123e4567-e89b-12d3-a456-426614174000","communication_channel":"letter","body":"Your appointment is scheduled for tomorrow at 3 PM.","message_type":"appointment_reminder","site_id":"123e4567-e89b-12d3-a456-426614174001"},"key":"log_letter_with_text","summary":"Create a Letter communication with plain text content","id":"paths/~1external_communications/post/requestBody/content/application~1json/examples/log_letter_with_text"},"paths/~1external_communications/post/requestBody/content/application~1json/examples/log_letter_with_link":{"value":{"direction":"outbound","patient_id":"123e4567-e89b-12d3-a456-426614174000","communication_channel":"letter","body_link":"https://example.com/letters/12345/content","message_type":"appointment_reminder","site_id":"123e4567-e89b-12d3-a456-426614174001"},"key":"log_letter_with_link","summary":"Create a Letter communication using a link to the content","id":"paths/~1external_communications/post/requestBody/content/application~1json/examples/log_letter_with_link"},"paths/~1external_communications/post/requestBody/content/application~1json/examples/log_messaging_app":{"value":{"direction":"outbound","patient_id":"123e4567-e89b-12d3-a456-426614174000","communication_channel":"messaging_app","messaging_channel":"whatsapp","body":"Your appointment is scheduled for tomorrow at 3 PM.","message_type":"appointment_reminder","site_id":"123e4567-e89b-12d3-a456-426614174001"},"key":"log_messaging_app","summary":"Create a Messaging App communication","id":"paths/~1external_communications/post/requestBody/content/application~1json/examples/log_messaging_app"},"paths/~1external_communications/post/requestBody/content/application~1json/examples/log_phone_call":{"value":{"direction":"outbound","patient_id":"123e4567-e89b-12d3-a456-426614174000","communication_channel":"phone_call","message_type":"appointment_reminder","site_id":"123e4567-e89b-12d3-a456-426614174001","body":"Left a voicemail reminding the patient of their appointment tomorrow at 3 PM."},"key":"log_phone_call","summary":"Create a Phone Call communication","id":"paths/~1external_communications/post/requestBody/content/application~1json/examples/log_phone_call"},"paths/~1external_communications/post/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1external_communications/post/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1external_communications/post/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1external_communications/post/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1external_communications/post/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1external_communications/post/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1external_communications/post/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1external_communications/post/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1fees/get/responses/200/content/application~1json/examples/firstPage":{"value":{"data":[{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","payment_plan_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","treatment_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","is_multiple_pricing":true,"tiers":[{"quantity":1,"price":55,"duration_minutes":15},{"quantity":2,"price":75,"duration_minutes":20},{"quantity":3,"price":95,"duration_minutes":25},{"quantity":4,"price":110,"duration_minutes":30},{"quantity":5,"price":125,"duration_minutes":35}],"created_at":"2025-06-01T08:00:00Z","updated_at":"2025-06-01T08:00:00Z"}],"meta":{"cursor":"eyJjcmVhdGVkX2F0IjoiMjAyNS0wOC0xMlQxMTowMDowMFoifQ"}},"key":"firstPage","summary":"First page of fees","description":"Paginated list with cursor for the next page.","id":"paths/~1fees/get/responses/200/content/application~1json/examples/firstPage"},"paths/~1fees/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1fees/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1fees/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1fees/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1fees/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1fees/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1fees/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1fees/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1fees~1{id}/get/responses/200/content/application~1json/examples/fee":{"value":{"data":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","payment_plan_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","treatment_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","is_multiple_pricing":true,"tiers":[{"quantity":1,"price":55,"duration_minutes":15},{"quantity":2,"price":75,"duration_minutes":20},{"quantity":3,"price":95,"duration_minutes":25},{"quantity":4,"price":110,"duration_minutes":30},{"quantity":5,"price":125,"duration_minutes":35}],"created_at":"2025-06-01T08:00:00Z","updated_at":"2025-06-01T08:00:00Z"}},"key":"fee","summary":"Single fee","description":"Wrapper returned by get fee.","id":"paths/~1fees~1{id}/get/responses/200/content/application~1json/examples/fee"},"paths/~1fees~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1fees~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1fees~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1fees~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1fees~1{id}/get/responses/404/content/application~1problem+json/examples/notFound":{"value":{"type":"https://api.dentally.co/problems/not-found","title":"Not Found","status":404,"detail":"No site found for the given id in this practice.","instance":"/v2/sites/8c7f4c9b-0e3d-5f2a-b6c7-4d8e9f0a1b2c"},"key":"notFound","summary":"Resource not found","description":"RFC 7807 problem details when no resource matches the given identifier.","id":"paths/~1fees~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"},"paths/~1fees~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1fees~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1fees~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1fees~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1fee_schedules/get/responses/200/content/application~1json/examples/firstPage":{"value":{"data":[{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","name":"NHS","patient_friendly_name":null,"is_active":true,"site_id":null,"account_code":"200","funding":{"type":"private","scheme":"nhs","claim_timing":null},"default_appointment_duration":{"exam_minutes":10,"scale_and_polish_minutes":10,"exam_scale_and_polish_minutes":20,"emergency_minutes":10},"patient_default":{"recall":{"dentist_interval_months":6,"hygienist_interval_months":6,"method":"letter"},"communication":{"is_email_enabled":true,"is_sms_enabled":true}},"membership":{"monthly_fee":0,"exam_appointments_included":0,"hygiene_appointments_included":0},"created_at":"2024-01-15T09:30:00Z","updated_at":"2026-03-02T11:12:00Z"},{"id":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","name":"Private","patient_friendly_name":null,"is_active":true,"site_id":"a11df716-ce65-4210-be87-8b8ec448f85c","account_code":"200","funding":{"type":"private","scheme":null,"claim_timing":null},"default_appointment_duration":{"exam_minutes":10,"scale_and_polish_minutes":10,"exam_scale_and_polish_minutes":20,"emergency_minutes":10},"patient_default":{"recall":{"dentist_interval_months":6,"hygienist_interval_months":6,"method":"letter"},"communication":{"is_email_enabled":true,"is_sms_enabled":true}},"membership":{"monthly_fee":0,"exam_appointments_included":0,"hygiene_appointments_included":0},"created_at":"2024-01-15T09:31:00Z","updated_at":"2025-11-04T16:22:00Z"}],"meta":{"cursor":"eyJjdXJzb3IiOiJuZXh0In0"}},"key":"firstPage","summary":"First page of fee schedules","description":"Paginated list with a cursor for the next page.","id":"paths/~1fee_schedules/get/responses/200/content/application~1json/examples/firstPage"},"paths/~1fee_schedules/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1fee_schedules/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1fee_schedules/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1fee_schedules/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1fee_schedules/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1fee_schedules/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1fee_schedules/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1fee_schedules/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1fee_schedules~1{id}/get/responses/200/content/application~1json/examples/feeSchedule":{"value":{"data":{"id":"7c9e6679-7425-40de-944b-e07fc1f90ae7","name":"OHSA - MoH","patient_friendly_name":"Oral Health Services Adolescents (OHSA)","is_active":true,"site_id":null,"account_code":"200","funding":{"type":"insurance_funded","scheme":"nz_moh_ohsa","claim_timing":"on_completion"},"default_appointment_duration":{"exam_minutes":30,"scale_and_polish_minutes":30,"exam_scale_and_polish_minutes":30,"emergency_minutes":30},"patient_default":{"recall":{"dentist_interval_months":12,"hygienist_interval_months":12,"method":"email"},"communication":{"is_email_enabled":true,"is_sms_enabled":true}},"membership":{"monthly_fee":0,"exam_appointments_included":0,"hygiene_appointments_included":0},"created_at":"2024-04-01T00:00:00Z","updated_at":"2026-01-20T08:45:00Z"}},"key":"feeSchedule","summary":"Fee schedule","description":"A fee schedule configured for the practice.","id":"paths/~1fee_schedules~1{id}/get/responses/200/content/application~1json/examples/feeSchedule"},"paths/~1fee_schedules~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1fee_schedules~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1fee_schedules~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1fee_schedules~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1fee_schedules~1{id}/get/responses/404/content/application~1problem+json/examples/notFound":{"value":{"type":"https://api.dentally.co/problems/not-found","title":"Not Found","status":404,"detail":"No site found for the given id in this practice.","instance":"/v2/sites/8c7f4c9b-0e3d-5f2a-b6c7-4d8e9f0a1b2c"},"key":"notFound","summary":"Resource not found","description":"RFC 7807 problem details when no resource matches the given identifier.","id":"paths/~1fee_schedules~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"},"paths/~1fee_schedules~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1fee_schedules~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1fee_schedules~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1fee_schedules~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1invoices/get/responses/200/content/application~1json/examples/firstPage":{"value":{"data":[{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","patient_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","site_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","reference":"00103","invoice_amount":150,"invoice_amount_outstanding":50,"patient_owed_amount":20,"insurance_owed_amount":10,"insurance_paid_amount":5,"pending_payments_amount":5,"tax_amount":10,"discount_amount":10,"is_paid":false,"paid_on":null,"is_editable":false,"created_by":"7c9e6679-7425-40de-944b-e07fc1f90ae7","created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"},{"id":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","patient_id":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","site_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","reference":"00103","invoice_amount":150,"invoice_amount_outstanding":0,"patient_owed_amount":150,"insurance_owed_amount":0,"insurance_paid_amount":0,"pending_payments_amount":0,"tax_amount":0,"discount_amount":0,"is_paid":true,"paid_on":"2026-01-18","is_editable":true,"created_by":"7c9e6679-7425-40de-944b-e07fc1f90ae7","created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"}],"meta":{"cursor":"eyJjdXJzb3IiOiJuZXh0In0"}},"key":"firstPage","summary":"First page of invoices","description":"Paginated list with cursor for the next page.","id":"paths/~1invoices/get/responses/200/content/application~1json/examples/firstPage"},"paths/~1invoices/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1invoices/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1invoices/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1invoices/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1invoices/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1invoices/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1invoices/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1invoices/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1invoices~1{id}/get/responses/200/content/application~1json/examples/appointment":{"value":{"data":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","patient_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","site_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","reference":"00103","invoice_amount":150,"invoice_amount_outstanding":50,"patient_owed_amount":20,"insurance_owed_amount":10,"insurance_paid_amount":5,"pending_payments_amount":5,"tax_amount":10,"discount_amount":10,"is_paid":false,"paid_on":null,"is_editable":false,"created_by":"7c9e6679-7425-40de-944b-e07fc1f90ae7","created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z"}},"key":"appointment","summary":"Single invoice","description":"Wrapper returned by get, create, or update invoice.","id":"paths/~1invoices~1{id}/get/responses/200/content/application~1json/examples/appointment"},"paths/~1invoices~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1invoices~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1invoices~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1invoices~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1invoices~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1invoices~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1invoices~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1invoices~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1invoices~1{id}~1invoice_items/get/responses/200/content/application~1json/examples/firstPage":{"value":{"data":[{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","pricing":{"discount_amount":10,"insurance_expected":10,"item_price":10,"total_price":10},"health_provider":{"is_provider_charge":false,"provider_name":"nhs"},"name":"Example name","quantity":1,"treatment_code":"example","invoice_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","practitioner_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","sundry_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","treatment_plan_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","treatment_plan_item_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","created_by_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","created_at":"2025-06-01T08:00:00Z","updated_at":"2025-06-01T08:00:00Z"}],"meta":{"cursor":"eyJjcmVhdGVkX2F0IjoiMjAyNS0wOC0xMlQxMTowMDowMFoifQ"}},"key":"firstPage","summary":"First page of invoice items","description":"Paginated list with cursor for the next page.","id":"paths/~1invoices~1{id}~1invoice_items/get/responses/200/content/application~1json/examples/firstPage"},"paths/~1invoices~1{id}~1invoice_items/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1invoices~1{id}~1invoice_items/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1invoices~1{id}~1invoice_items/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1invoices~1{id}~1invoice_items/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1invoices~1{id}~1invoice_items/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1invoices~1{id}~1invoice_items/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1invoices~1{id}~1invoice_items/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1invoices~1{id}~1invoice_items/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1nhs~1contracts/get/responses/200/content/application~1json/examples/firstPage":{"value":{"data":[{"id":"74299a51-bb9a-47eb-9524-20ec9c3958a8","name":"Main Surgery NHS Contract","is_active":true,"site_id":"a11df716-ce65-4210-be87-8b8ec448f85c","nhs_contract_number":"1234567890","nhs_site_id":"12345","nhs_location_id":"200006","start_date":"2025-04-01","end_date":null,"is_pds_plus":false,"notes":null,"created_at":"2025-01-10T09:00:00Z","updated_at":"2026-08-20T11:20:00Z"},{"id":"c1d2e3f4-a5b6-7890-cdef-123456789abc","name":"Previous Main Surgery Contract","is_active":false,"site_id":null,"nhs_contract_number":"1234567891","nhs_site_id":"12345","nhs_location_id":"200006","start_date":"2024-04-01","end_date":"2026-03-31","is_pds_plus":false,"notes":"Historical contract","created_at":"2024-02-01T08:30:00Z","updated_at":"2026-04-02T10:15:00Z"}],"meta":{"cursor":"eyJjdXJzb3IiOiJuZXh0In0"}},"key":"firstPage","summary":"First page of NHS contracts","description":"Paginated list with a cursor for the next page.","id":"paths/~1nhs~1contracts/get/responses/200/content/application~1json/examples/firstPage"},"paths/~1nhs~1contracts/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1nhs~1contracts/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1nhs~1contracts/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1nhs~1contracts/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1nhs~1contracts/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1nhs~1contracts/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1nhs~1contracts/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1nhs~1contracts/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1nhs~1contracts~1{id}/get/responses/200/content/application~1json/examples/contract":{"value":{"data":{"id":"74299a51-bb9a-47eb-9524-20ec9c3958a8","name":"Main Surgery NHS Contract","is_active":true,"site_id":"a11df716-ce65-4210-be87-8b8ec448f85c","nhs_contract_number":"1234567890","nhs_site_id":"12345","nhs_location_id":"200006","start_date":"2025-04-01","end_date":null,"is_pds_plus":false,"notes":null,"created_at":"2025-01-10T09:00:00Z","updated_at":"2026-08-20T11:20:00Z"}},"key":"contract","summary":"NHS contract","description":"An NHS contract configured for the practice.","id":"paths/~1nhs~1contracts~1{id}/get/responses/200/content/application~1json/examples/contract"},"paths/~1nhs~1contracts~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1nhs~1contracts~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1nhs~1contracts~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1nhs~1contracts~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1nhs~1contracts~1{id}/get/responses/404/content/application~1problem+json/examples/notFound":{"value":{"type":"https://api.dentally.co/problems/not-found","title":"Not Found","status":404,"detail":"No site found for the given id in this practice.","instance":"/v2/sites/8c7f4c9b-0e3d-5f2a-b6c7-4d8e9f0a1b2c"},"key":"notFound","summary":"Resource not found","description":"RFC 7807 problem details when no resource matches the given identifier.","id":"paths/~1nhs~1contracts~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"},"paths/~1nhs~1contracts~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1nhs~1contracts~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1nhs~1contracts~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1nhs~1contracts~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_patient_ids":{"value":{"resource":"patient","ids":[42,43]},"key":"map_patient_ids","summary":"Map patient legacy ids","id":"paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_patient_ids"},"paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_appointment_ids":{"value":{"resource":"appointment","ids":[1001]},"key":"map_appointment_ids","summary":"Map appointment legacy ids","id":"paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_appointment_ids"},"paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_invoice_ids":{"value":{"resource":"invoice","ids":[501,502]},"key":"map_invoice_ids","summary":"Map invoice legacy ids","id":"paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_invoice_ids"},"paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_practitioner_ids":{"value":{"resource":"practitioner","ids":[7]},"key":"map_practitioner_ids","summary":"Map practitioner legacy ids","id":"paths/~1identifier_mappings/post/requestBody/content/application~1json/examples/map_practitioner_ids"},"paths/~1identifier_mappings/post/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1identifier_mappings/post/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1identifier_mappings/post/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1identifier_mappings/post/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1identifier_mappings/post/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1identifier_mappings/post/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1identifier_mappings/post/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1identifier_mappings/post/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1treatments/get/responses/200/content/application~1json/examples/firstPage":{"value":{"data":[{"id":"94525b9c-af18-40a5-905f-f539f1c45f6f","code":"100","nomenclature":"Exam","description":"An evaluation performed on a patient of record to determine any changes in the patient's dental and medical health status.","patient_nomenclature":"Examination","patient_description":null,"treatment_category_id":"4ee0fa3e-12f4-4942-9347-1702eb89ebcc","is_active":true,"is_displayed_on_invoice":true,"region":"patient","owner":"practice","health_provider":{"provider_name":"nhs","provider_treatment_category":"9317","uda_band":1},"created_at":"2026-01-05T09:12:44Z","updated_at":"2026-10-02T14:03:10Z"},{"id":"a1b2c3d4-e5f6-4789-a012-3456789abcde","code":"SYS001","nomenclature":"Unerupted","description":null,"patient_nomenclature":null,"patient_description":null,"treatment_category_id":"09b2e37e-8f42-4676-adf3-cb97fc9ee3e6","is_active":true,"is_displayed_on_invoice":false,"region":"tooth","owner":"system","created_at":"2025-06-01T08:00:00Z","updated_at":"2025-06-01T08:00:00Z"}],"meta":{"cursor":"eyJjcmVhdGVkX2F0IjoiMjAyNS0wNi0wMVQwODowMDowMFoifQ"}},"key":"firstPage","summary":"First page of treatments","description":"Paginated list with cursor for the next page. Includes a practice-authored treatment and a Dentally-managed system treatment.","id":"paths/~1treatments/get/responses/200/content/application~1json/examples/firstPage"},"paths/~1treatments/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1treatments/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1treatments/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1treatments/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1treatments/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1treatments/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1treatments/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1treatments/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1treatments~1{id}/get/responses/200/content/application~1json/examples/treatment":{"value":{"data":{"id":"94525b9c-af18-40a5-905f-f539f1c45f6f","code":"100","nomenclature":"Exam","description":"An evaluation performed on a patient of record to determine any changes in the patient's dental and medical health status.","patient_nomenclature":"Examination","patient_description":null,"treatment_category_id":"4ee0fa3e-12f4-4942-9347-1702eb89ebcc","is_active":true,"is_displayed_on_invoice":true,"region":"patient","owner":"practice","health_provider":{"provider_name":"nhs","provider_treatment_category":"9317","uda_band":1},"created_at":"2026-01-05T09:12:44Z","updated_at":"2026-10-02T14:03:10Z"}},"key":"treatment","summary":"Single treatment","description":"One treatment in the practice catalogue.","id":"paths/~1treatments~1{id}/get/responses/200/content/application~1json/examples/treatment"},"paths/~1treatments~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1treatments~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1treatments~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1treatments~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1treatments~1{id}/get/responses/404/content/application~1problem+json/examples/notFound":{"value":{"type":"https://api.dentally.co/problems/not-found","title":"Not Found","status":404,"detail":"No site found for the given id in this practice.","instance":"/v2/sites/8c7f4c9b-0e3d-5f2a-b6c7-4d8e9f0a1b2c"},"key":"notFound","summary":"Resource not found","description":"RFC 7807 problem details when no resource matches the given identifier.","id":"paths/~1treatments~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"},"paths/~1treatments~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1treatments~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1treatments~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1treatments~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1treatment_categories/get/responses/200/content/application~1json/examples/firstPage":{"value":{"data":[{"id":"4ee0fa3e-12f4-4942-9347-1702eb89ebcc","name":"Diagnostic Related Services","created_at":"2026-01-05T09:12:44Z","updated_at":"2026-10-02T14:03:10Z"},{"id":"9a2b3c4d-5e6f-4081-92a3-b4c5d6e7f809","name":"Restorative","created_at":"2025-06-01T08:00:00Z","updated_at":"2025-06-01T08:00:00Z"},{"id":"09b2e37e-8f42-4676-adf3-cb97fc9ee3e6","name":null,"created_at":"2025-05-01T08:00:00Z","updated_at":"2025-05-01T08:00:00Z"}],"meta":{"cursor":"eyJjcmVhdGVkX2F0IjoiMjAyNS0wNi0wMVQwODowMDowMFoifQ"}},"key":"firstPage","summary":"First page of treatment categories","description":"Paginated list with cursor for the next page. Categories may have a null name.","id":"paths/~1treatment_categories/get/responses/200/content/application~1json/examples/firstPage"},"paths/~1treatment_categories/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1treatment_categories/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1treatment_categories/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1treatment_categories/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1treatment_categories/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1treatment_categories/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1treatment_categories/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1treatment_categories/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1treatment_categories~1{id}/get/responses/200/content/application~1json/examples/treatmentCategory":{"value":{"data":{"id":"4ee0fa3e-12f4-4942-9347-1702eb89ebcc","name":"Diagnostic Related Services","created_at":"2026-01-05T09:12:44Z","updated_at":"2026-10-02T14:03:10Z"}},"key":"treatmentCategory","summary":"Single treatment category","description":"One treatment category in the practice catalogue.","id":"paths/~1treatment_categories~1{id}/get/responses/200/content/application~1json/examples/treatmentCategory"},"paths/~1treatment_categories~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1treatment_categories~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1treatment_categories~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1treatment_categories~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1treatment_categories~1{id}/get/responses/404/content/application~1problem+json/examples/notFound":{"value":{"type":"https://api.dentally.co/problems/not-found","title":"Not Found","status":404,"detail":"No site found for the given id in this practice.","instance":"/v2/sites/8c7f4c9b-0e3d-5f2a-b6c7-4d8e9f0a1b2c"},"key":"notFound","summary":"Resource not found","description":"RFC 7807 problem details when no resource matches the given identifier.","id":"paths/~1treatment_categories~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"},"paths/~1treatment_categories~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1treatment_categories~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1treatment_categories~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1treatment_categories~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1treatment_plans/get/responses/200/content/application~1json/examples/firstPage":{"value":{"data":[{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","patient_id":"ea845d0d-d6d7-4dd4-8321-1bd803c897e8","practitioner_id":"c8e79da4-e253-4887-8084-04786bff7e4f","site_id":"2836b794-0d77-4788-b06f-da6927cab30d","health_provider":[{"provider_name":"nhs","uda_value":1.5,"completed_uda_value":3},{"provider_name":"private","treatment_value":50}],"start_date":"2026-06-01","end_date":"2026-10-01","completed_at":"2026-07-01T08:00:00Z","is_completed":true,"created_at":"2026-06-01T08:00:00Z","updated_at":"2026-10-01T08:00:00Z"}],"meta":{"cursor":"eyJjcmVhdGVkX2F0IjoiMjAyNS0wOC0xMlQxMTowMDowMFoifQ"}},"key":"firstPage","summary":"First page of treatment plans","description":"Paginated list with cursor for the next page.","id":"paths/~1treatment_plans/get/responses/200/content/application~1json/examples/firstPage"},"paths/~1treatment_plans/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1treatment_plans/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1treatment_plans/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1treatment_plans/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1treatment_plans/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1treatment_plans/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1treatment_plans/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1treatment_plans/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1treatment_plans~1{id}/get/responses/200/content/application~1json/examples/treatment_plan":{"value":{"data":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","patient_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","practitioner_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","site_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","health_provider":[{"provider_name":"nhs","uda_value":1.5,"completed_uda_value":3}],"start_date":"2026-06-01","end_date":null,"completed_at":null,"is_completed":false,"created_at":"2026-06-01T08:00:00Z","updated_at":"2026-10-01T08:00:00Z"}},"key":"treatment_plan","summary":"Single treatment plan","description":"Wrapper returned by get treatment plan.","id":"paths/~1treatment_plans~1{id}/get/responses/200/content/application~1json/examples/treatment_plan"},"paths/~1treatment_plans~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1treatment_plans~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1treatment_plans~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1treatment_plans~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1treatment_plans~1{id}/get/responses/404/content/application~1problem+json/examples/notFound":{"value":{"type":"https://api.dentally.co/problems/not-found","title":"Not Found","status":404,"detail":"No site found for the given id in this practice.","instance":"/v2/sites/8c7f4c9b-0e3d-5f2a-b6c7-4d8e9f0a1b2c"},"key":"notFound","summary":"Resource not found","description":"RFC 7807 problem details when no resource matches the given identifier.","id":"paths/~1treatment_plans~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"},"paths/~1treatment_plans~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1treatment_plans~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1treatment_plans~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1treatment_plans~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/200/content/application~1json/examples/firstPage":{"value":{"data":[{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","patient_id":"9efcb282-8f4f-4ac1-9259-d4e3fe9b6531","practitioner_id":"0930501c-aafd-45e7-90c3-76498ba2d126","fee_schedule_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","referrer_id":"e1d854af-15db-4482-8e29-39e74a6c7f75","invoice_id":"10548353-ea10-451f-beac-9b5858a87e01","treatment_appointment_id":"a58310cd-5473-421e-b6ad-ff31f647140d","treatment_id":"68adfa9e-a3c9-47c8-812c-3fe55640b560","treatment_plan_id":"a2f6bdbb-ac9b-4a24-8136-98f1c06fbb89","nomenclature":"Acute Mucosal Infection","patient_friendly_nomenclature":"Urgent/Emergency Assessment","price":10,"is_charged":false,"is_completed":true,"completed_at":"2025-06-01T08:00:00Z","duration_minutes":30,"notes":"<p>This is a note</p>","custom_fields":[{"id":"e4b5cd1e-4a43-46ce-bdb0-fe75f2e8cd14","value":true}],"clinical":{"region":"tooth","surfaces":[1],"teeth":["LR4"]},"health_provider":{"provider_name":"nhs","provider_treatment_category":"9306","uda_band":2},"created_at":"2025-06-01T08:00:00Z","updated_at":"2025-06-01T08:00:00Z"}],"meta":{"cursor":"eyJjcmVhdGVkX2F0IjoiMjAyNS0wOC0xMlQxMTowMDowMFoifQ"}},"key":"firstPage","summary":"First page of treatment plan items","description":"Paginated list with cursor for the next page.","id":"paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/200/content/application~1json/examples/firstPage"},"paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1treatment_plans~1{id}~1treatment_plan_items/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1market~1subscriptions/get/responses/200/content/application~1json/examples/firstPage":{"value":{"data":[{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","partner_id":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","product_id":"7c9e6679-7425-40de-944b-e07fc1f90ae7","practice_id":"6657287f-28fc-4ce7-9452-4ea8c27aa7b9","site_id":"0c28be69-430a-422e-a4fc-8b1d512a2fbe","status":"Completed","created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z","deleted_at":"2027-04-16T10:00:00Z"},{"id":"07558d56-1225-49b5-90fa-ab8922b6fd30","partner_id":"d05ff51d-e2be-4a78-8592-41baa8cd6cba","product_id":"2dec7d43-a7de-45d1-a46e-7764ffc17bac","practice_id":"686cd614-9c6e-480b-a55b-b499207782b2","site_id":"abc61d6c-0b23-4795-aee4-1c2e12740b59","status":"Pending","created_at":"2025-07-01T08:00:00Z","updated_at":"2026-02-18T12:00:00Z","deleted_at":"2027-05-16T10:00:00Z"}],"meta":{"cursor":"eyJjdXJzb3IiOiJuZXh0In0"}},"key":"firstPage","summary":"First page of subscriptions","description":"Paginated list with cursor for the next page.","id":"paths/~1market~1subscriptions/get/responses/200/content/application~1json/examples/firstPage"},"paths/~1market~1subscriptions/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1market~1subscriptions/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1market~1subscriptions/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1market~1subscriptions/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1market~1subscriptions/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1market~1subscriptions/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1market~1subscriptions/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1market~1subscriptions/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1market~1subscriptions~1{id}/get/responses/200/content/application~1json/examples/subscription":{"value":{"data":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","partner_id":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","product_id":"7c9e6679-7425-40de-944b-e07fc1f90ae7","practice_id":"6657287f-28fc-4ce7-9452-4ea8c27aa7b9","site_id":"0c28be69-430a-422e-a4fc-8b1d512a2fbe","status":"Completed","created_at":"2025-06-01T08:00:00Z","updated_at":"2026-01-18T12:00:00Z","deleted_at":"2027-04-16T10:00:00Z"}},"key":"subscription","summary":"Single subscription","description":"Wrapper returned by get subscription.","id":"paths/~1market~1subscriptions~1{id}/get/responses/200/content/application~1json/examples/subscription"},"paths/~1market~1subscriptions~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1market~1subscriptions~1{id}/get/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1market~1subscriptions~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1market~1subscriptions~1{id}/get/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1market~1subscriptions~1{id}/get/responses/404/content/application~1problem+json/examples/notFound":{"value":{"type":"https://api.dentally.co/problems/not-found","title":"Not Found","status":404,"detail":"No site found for the given id in this practice.","instance":"/v2/sites/8c7f4c9b-0e3d-5f2a-b6c7-4d8e9f0a1b2c"},"key":"notFound","summary":"Resource not found","description":"RFC 7807 problem details when no resource matches the given identifier.","id":"paths/~1market~1subscriptions~1{id}/get/responses/404/content/application~1problem+json/examples/notFound"},"paths/~1market~1subscriptions~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1market~1subscriptions~1{id}/get/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1market~1subscriptions~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1market~1subscriptions~1{id}/get/responses/5XX/content/application~1problem+json/examples/serverError"},"paths/~1market~1subscriptions~1{id}/delete/responses/400/content/application~1problem+json/examples/badRequest":{"value":{"type":"https://api.dentally.co/problems/bad-request","title":"Bad Request","status":400,"detail":"The request is missing required header 'X-Practice-Id'.","instance":"/v2/sites"},"key":"badRequest","summary":"Malformed or invalid request","description":"RFC 7807 problem details when validation fails (e.g. missing required field).","id":"paths/~1market~1subscriptions~1{id}/delete/responses/400/content/application~1problem+json/examples/badRequest"},"paths/~1market~1subscriptions~1{id}/delete/responses/401/content/application~1problem+json/examples/unauthorized":{"value":{"type":"https://api.dentally.co/problems/unauthorized","title":"Unauthorized","status":401,"detail":"Valid bearer token required."},"key":"unauthorized","summary":"Missing or invalid credentials","description":"RFC 7807 problem details when the caller is not authenticated.","id":"paths/~1market~1subscriptions~1{id}/delete/responses/401/content/application~1problem+json/examples/unauthorized"},"paths/~1market~1subscriptions~1{id}/delete/responses/404/content/application~1problem+json/examples/notFound":{"value":{"type":"https://api.dentally.co/problems/not-found","title":"Not Found","status":404,"detail":"No site found for the given id in this practice.","instance":"/v2/sites/8c7f4c9b-0e3d-5f2a-b6c7-4d8e9f0a1b2c"},"key":"notFound","summary":"Resource not found","description":"RFC 7807 problem details when no resource matches the given identifier.","id":"paths/~1market~1subscriptions~1{id}/delete/responses/404/content/application~1problem+json/examples/notFound"},"paths/~1market~1subscriptions~1{id}/delete/responses/4XX/content/application~1problem+json/examples/clientError":{"value":{"type":"https://api.dentally.co/problems/client-error","title":"Unprocessable Entity","status":422,"detail":"The request could not be processed with the current state of the resource."},"key":"clientError","summary":"Generic client error response","description":"RFC 7807 problem details for a generic client error (e.g. conflict, unsupported media type).","id":"paths/~1market~1subscriptions~1{id}/delete/responses/4XX/content/application~1problem+json/examples/clientError"},"paths/~1market~1subscriptions~1{id}/delete/responses/5XX/content/application~1problem+json/examples/serverError":{"value":{"type":"https://api.dentally.co/problems/internal-error","title":"Internal Server Error","status":500,"detail":"An unexpected error occurred while processing your request."},"key":"serverError","summary":"Unexpected server error","description":"RFC 7807 problem details for an internal failure.","id":"paths/~1market~1subscriptions~1{id}/delete/responses/5XX/content/application~1problem+json/examples/serverError"}},"securitySchemeStore":{"bearerAuth":{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"id":"oauth2","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.api.dentally.co/oauth/token","scopes":{"fee:read":"List and retrieve fees.","patient:write":"Create and modify patient records for a practice.","patient:read":"List and retrieve patients.","appointment:read":"List and retrieve appointments.","appointment:write":"Create and modify appointments.","calendar:read":"List and retrieve calendar zones.","communication:write":"Send communications to patients on behalf of a practice.","communication:read":"List and retrieve communications sent to patients on behalf of a practice or replies received from patients.","communication:external:write":"Log externally created communications that were sent to patients on behalf of a practice.","communication:external:sms:write":"Log externally created SMS communications that were sent to the patients on behalf of a practice.","invoice:read":"List and retrieve invoices.","account:read":"Retrieve patient account balances.","fee_schedule:read":"List and retrieve fee schedules.","nhs:contract:read":"List and retrieve NHS contracts.","site:read":"List and retrieve sites.","practitioner:read":"List and retrieve practitioners.","practitioner:rota_schedule:read":"List rota schedule history for a practitioner.","practitioner:availability:read":"List practitioner availability slots for booking.","subscription:read":"List and retrieve subscriptions.","subscription:manage":"Manage subscriptions.","identifier_mapping:read":"List UUID for a resource","treatment:read":"List and retrieve treatment information, including treatments and treatment categories."}}}}},"specVersion":"3.0.0","servers":[{"url":"/_mock/docs/versions/2026-01-01/nexgen","isMockServer":true,"description":"Mock server"},{"url":"https://api.dentally.co","description":"Production - UK"},{"url":"https://api.apac.dentally.com","description":"Production - APAC"}],"specType":"openapi"},"options":{"schemasExpansionLevel":2,"showExtensions":false,"hideDownloadButtons":false,"expandResponses":"200,201","pathInMiddlePanel":true,"mockServer":{"url":"/_mock/docs/versions/2026-01-01/nexgen","position":"first","description":"Mock server"},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/docs/versions/2026-01-01/nexgen.json?download"},{"url":"/_bundle/docs/versions/2026-01-01/nexgen.yaml?download"}],"excludeFromSearch":false,"replayFeatures":{"graphql":false},"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"Dentally NexGen API","description":"The **Dentally NexGen API** exposes HTTP resources for partner integrations\nwith Dentally. This page is the machine-readable contract; the developer\nportal sidebar carries the rest of the documentation:\n\n- **Getting started** — make your first call.\n- **Authentication** — bearer tokens issued via Auth0.\n- **Versioning** — date-based revisions selected with the\n  `Dentally-API-Version` header.\n- **Pagination** — cursor-based paging using `cursor` + `limit`.\n- **Errors** — Problem Details (RFC 7807) for every error response.\n- **Conventions** — naming, types, dates, nullability.\n"}},"baseSlug":"/docs/versions/2026-01-01/nexgen","routesMapping":{}}