Information
- OpenAPI version:
3.1.0
The Specimen Collection Kit API (SCK API) is used for fulfillment-only kit ordering.
Use this API when Probatix is responsible for shipping specimen collection kits, but does not handle the diagnostic workflow itself.
In practice, this API focuses on:
In this API, products represent orderable catalog items, while kits represent specimen collection kit entities that may need to be tracked separately for operational or billing purposes.
It intentionally does not model diagnostic data such as observations, test results, or broader patient details beyond shipment contact information.
Collection endpoints support query parameters for filtering and sorting results.
[] and can be provided multiple times.Use these filters once per field.
If the same singular-value filter is passed multiple times, the last value is generally the one that is applied. However, this is not considered a supported use case and no guarantees are made about that behavior.
Used for range filtering on datetime fields with operators such as gt, gte, lt, and lte.
Accepted datetime input formats therefore include:
2026-01-01T00:00:00+00:00 or 2026-01-01T00:00:00Z2026-02-01-30 minutes, yesterday, or first day of this monthPrefer timestamps with an explicit timezone offset or Z to avoid ambiguity. If no timezone is included, the server default timezone (Europe/Berlin) is used.
Examples:
createdAt[gt]=2026-01-01T00:00:00+00:00createdAt[gte]=-30 minutescreatedAt[lte]=2026-01-31T23:59:59+00:00activatedAt[gte]=2026-01-01T00:00:00ZlabIntakeAt[lt]=2026-02-01Used for exact matching on scalar values.
Examples:
patient.dateOfBirth[]=1994-01-15patient.gender[]=F&patient.gender[]=DdiagnosticOrder[]=00112233-4455-6677-8899-aabbccddeeffUsed to filter for resources where a property is present or absent. This is especially useful for nullable properties.
Examples:
exists[activatedAt]=trueexists[labIntakeAt]=falseexists[unit]=trueUsed for whitespace-tokenized free-text search across a predefined group of fields behind one parameter.
The input is a single string, for example Jane Doe. It is split into tokens like Jane and Doe. Each token must match at least one configured field, so the token groups are AND-combined.
freeTextQuery[...] is a single-string multi-field search parameter. Unlike repeatable filters, this parameter is not sent as [].
It is more restrictive than query[...][] because the individual words should all be present somewhere across the configured fields. For example:
freeTextQuery[name]=Jane DoeUsed to control result ordering.
Examples:
sort[createdAt]=ascsort[createdAt]=descThese filters accept repeated values. Multiple values for the same filter are OR-combined.
Used for case-insensitive partial matching on a single string field.
Examples:
search[patient.firstName][]=Janesearch[patient.lastName][]=Doe&search[patient.lastName][]=Millersearch[patient.email][]=example.comsearch[...][] targets one specific field per parameter. For example:
search[patient.firstName][]=Jane&search[patient.lastName][]=DoeThis is the most explicit option because each field is filtered independently.
Used for case-insensitive partial matching across a predefined group of fields behind one parameter.
Multiple values for the same query[...][] parameter are OR-combined. Each value is checked against any of the fields configured for that query profile.
query[...][] targets a predefined group of fields behind one parameter. For example:
query[name][]=Jane&query[name][]=Doequery[onSiteBooking][]=ZKLABUnlike freeTextQuery[...], values are not tokenized automatically. query[name][]=Jane Doe searches for the full string Jane Doe as one value.
These filters target scalar values inside JSON object fields. Dot-separated paths such as metadata.reference address nested object keys.
json_exact and json_search are rendered as deepObject query parameters in OpenAPI so examples remain faithful to the real request shape.
Used for exact matching on scalar values inside JSON object fields using dot-separated paths.
OpenAPI example shape:
json_exact[metadata.id]=["externalId","anotherId"]Used to filter JSON object fields by whether a dot-separated path exists and the value is not JSON null.
Examples:
json_exists[metadata.yourReference1]=truejson_exists[metadata.partnerReference]=falseUsed for case-insensitive partial matching on scalar values inside JSON object fields using dot-separated paths.
OpenAPI example shape:
json_search[metadata.id]=["externalId","anotherId"]Value for the X-API-TOKEN header parameter.
Security scheme type: apiKey
Header parameter name: X-API-TOKEN