Skip to content

QUBS Integrations API (v1)

Partner-facing API providing read-only access to selected QUBS configuration and scheduling data for integration purposes.

Authentication is via a bearer JWT in the Authorization header. Authorization is domain-scoped; all requests include a {domain} path parameter.

Errors are returned as RFC7807 Problem Details (application/problem+json).

Download OpenAPI description
Languages
Servers
Mock server
https://partners.qubs.io/_mock/openapi/
Relative to the current host
https://partners.qubs.io/

Site Settings

Partner-facing endpoints for listing sites and retrieving site configuration within a domain.

Operations

Exam Codes

Partner-facing endpoints for retrieving exam code configuration for a site within a domain.

Operations

Staff Skills

Partner-facing endpoints for retrieving the staff skill grid and related metadata for a site within a domain.

Operations

Appointments

Partner-facing endpoints for retrieving appointments within a domain.

Operations

Attachments

Partner-facing endpoints for retrieving appointment attachments and generating short-lived presigned URLs.

Operations

Comments

Partner-facing endpoints for retrieving appointment and patient comments/alerts associated with an appointment.

Operations

Patients

Partner-facing endpoints for retrieving patients within a domain.

Operations

Get patient summary by domain and patient id

Request

Returns the patient summary view for the specified domain and patient id when the caller is authorized.

Security
Bearer
Path
domainstringrequired

Partner domain identifier. Your bearer token is scoped to one or more domains and requests outside that scope are rejected.

Example: acme
patientIdstringrequired

Patient identifier within the specified domain.

Example: 220000
curl -i -X GET \
  https://partners.qubs.io/_mock/openapi/integrations/v1/acme/patients/220000 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

OK

Bodyapplication/json
domainstringrequired

Domain this patient belongs to.

Example: "Example domain"
patientIdstringrequired

Patient identifier.

Example: "123"
patientNamestringrequired

Patient display name.

Example: "Example Name"
firstNamestring

Patient first name.

Example: "Example Name"
lastNamestring

Patient last name.

Example: "Example Name"
genderstring

Patient gender/sex string as stored in QUBS.

Example: "Example gender"
dateOfBirthstring

Patient date of birth string as stored in QUBS.

Example: "Example dateOfBirth"
Response
application/json
{ "domain": "Example domain", "patientId": "123", "patientName": "Example Name", "firstName": "Example Name", "lastName": "Example Name", "gender": "Example gender", "dateOfBirth": "Example dateOfBirth" }

List patient summaries for a domain

Request

Returns the patient summary view for the specified domain when the caller is authorized. Supports optional filters via query string and offset paging via skip and take.

Security
Bearer
Path
domainstringrequired

Partner domain identifier. Your bearer token is scoped to one or more domains and requests outside that scope are rejected.

Example: acme
Query
firstNamestring

Optional patient first name filter.

Example: firstName=Amandeep
lastNamestring

Optional patient last name filter.

Example: lastName=KAUR
dateOfBirthstring

Optional patient date of birth filter. Format is integration-specific and typically matches the QUBS date string for the domain.

Example: dateOfBirth=03-03-1988
emailstring

Optional patient email filter.

Example: email=user@example.com
mobilePhonestring

Optional patient mobile phone filter.

Example: mobilePhone=0435531162
skipinteger or string(int32)^-?(?:0|[1-9]\d*)$

Optional number of items to skip. Defaults to 0 when omitted.

Example: skip=0
takeinteger or string(int32)^-?(?:0|[1-9]\d*)$

Optional maximum number of items to return. Defaults to 100 when omitted.

Example: take=100
curl -i -X GET \
  'https://partners.qubs.io/_mock/openapi/integrations/v1/acme/patients?firstName=Amandeep&lastName=KAUR&dateOfBirth=03-03-1988&email=user%40example.com&mobilePhone=0435531162&skip=0&take=100' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

OK

Bodyapplication/jsonArray [
domainstringrequired

Domain this patient belongs to.

Example: "Example domain"
patientIdstringrequired

Patient identifier.

Example: "123"
patientNamestringrequired

Patient display name.

Example: "Example Name"
firstNamestring

Patient first name.

Example: "Example Name"
lastNamestring

Patient last name.

Example: "Example Name"
genderstring

Patient gender/sex string as stored in QUBS.

Example: "Example gender"
dateOfBirthstring

Patient date of birth string as stored in QUBS.

Example: "Example dateOfBirth"
]
Response
application/json
[ { "domain": "Example domain", "patientId": "123", "patientName": "Example Name", "firstName": "Example Name", "lastName": "Example Name", "gender": "Example gender", "dateOfBirth": "Example dateOfBirth" } ]

Reporting

Partner-facing endpoints for retrieving appointments that are pending reporting.

Operations