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

List attachments for an appointment

Request

Returns appointment attachments (e.g. referrals, worksheets) and a short-lived presigned URL for each attachment when available.

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
appointmentIdstringrequired

Appointment identifier within the specified domain.

Example: A123456
Query
urlTtlSecondsinteger or string(int32)^-?(?:0|[1-9]\d*)$

Optional presigned URL lifetime (in seconds). Values outside supported bounds are clamped.

Example: urlTtlSeconds=900
dispositionstring

Optional content disposition for the presigned URL (inline for display, attachment for download). Defaults to inline.

Enum"inline""attachment"
Example: disposition=inline
curl -i -X GET \
  'https://partners.qubs.io/_mock/openapi/integrations/v1/acme/appointments/A123456/attachments?urlTtlSeconds=900&disposition=inline' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

List of attachments for the requested appointment, including short-lived presigned URLs when available.

Bodyapplication/jsonArray [
guidstringrequired

Attachment GUID.

Example: "123"
categorystring

Attachment category (e.g. Referral, Worksheet).

Example: "Example category"
fileNamestring

Suggested filename for display/download.

Example: "Example Name"
addedDateTimenull or string(date-time)

When the attachment was added.

Example: "2020-01-01T00:00:00Z"
addedBynull or UserSummaryResponse (object)

Who added the attachment when available.

One of:

Who added the attachment when available.

null
lastModifiedDateTimenull or string(date-time)

When the attachment was last modified.

Example: "2020-01-01T00:00:00Z"
lastModifiedBynull or UserSummaryResponse (object)

Who last modified the attachment when available.

One of:

Who last modified the attachment when available.

null
urlnull or string

Short-lived presigned URL for retrieving the attachment content when available.

Example: "https://example.com"
urlExpiresAtUtcnull or string(date-time)

UTC expiry timestamp for the presigned URL when available.

Example: "2020-01-01T00:00:00Z"
]
Response
application/json
[ { "guid": "123", "category": "Example category", "fileName": "Example Name", "addedDateTime": "2020-01-01T00:00:00Z", "addedBy": {}, "lastModifiedDateTime": "2020-01-01T00:00:00Z", "lastModifiedBy": {}, "url": "https://example.com", "urlExpiresAtUtc": "2020-01-01T00:00:00Z" } ]

Get a single attachment for an appointment

Request

Returns a single appointment attachment and a short-lived presigned URL when available.

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
appointmentIdstringrequired

Appointment identifier within the specified domain.

Example: A123456
attachmentGuidstringrequired

Attachment GUID for the requested appointment.

Example: 989dd0c7-13bb-4bba-b7a0-53a28bdf5155
Query
urlTtlSecondsinteger or string(int32)^-?(?:0|[1-9]\d*)$

Optional presigned URL lifetime (in seconds). Values outside supported bounds are clamped.

Example: urlTtlSeconds=900
dispositionstring

Optional content disposition for the presigned URL (inline for display, attachment for download). Defaults to inline.

Enum"inline""attachment"
Example: disposition=inline
curl -i -X GET \
  'https://partners.qubs.io/_mock/openapi/integrations/v1/acme/appointments/A123456/attachments/989dd0c7-13bb-4bba-b7a0-53a28bdf5155?urlTtlSeconds=900&disposition=inline' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Attachment metadata for the requested appointment attachment, including a short-lived presigned URL when available.

Bodyapplication/json
guidstringrequired

Attachment GUID.

Example: "123"
categorystring

Attachment category (e.g. Referral, Worksheet).

Example: "Example category"
fileNamestring

Suggested filename for display/download.

Example: "Example Name"
addedDateTimenull or string(date-time)

When the attachment was added.

Example: "2020-01-01T00:00:00Z"
addedBynull or UserSummaryResponse (object)

Who added the attachment when available.

One of:

Who added the attachment when available.

null
lastModifiedDateTimenull or string(date-time)

When the attachment was last modified.

Example: "2020-01-01T00:00:00Z"
lastModifiedBynull or UserSummaryResponse (object)

Who last modified the attachment when available.

One of:

Who last modified the attachment when available.

null
urlnull or string

Short-lived presigned URL for retrieving the attachment content when available.

Example: "https://example.com"
urlExpiresAtUtcnull or string(date-time)

UTC expiry timestamp for the presigned URL when available.

Example: "2020-01-01T00:00:00Z"
Response
application/json
{ "guid": "123", "category": "Example category", "fileName": "Example Name", "addedDateTime": "2020-01-01T00:00:00Z", "addedBy": {}, "lastModifiedDateTime": "2020-01-01T00:00:00Z", "lastModifiedBy": {}, "url": "https://example.com", "urlExpiresAtUtc": "2020-01-01T00:00:00Z" }

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

Reporting

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

Operations