ReferenceReference
Serviceability endpoints
Exact request and response contracts for the serviceability endpoints, generated from the enforced Partner API contract.
Machine-readable OpenAPI descriptionOn this page
Endpoints in this group
/v1/serviceabilityCheck whether a location and test can be fulfilledImportant
Base path: /api/public/partner/v1. Every response carries request_id; every failure uses the standard error envelope documented under Errors.
POST/v1/serviceability
Check whether a location and test can be fulfilled
Authentication & scope
- Authentication:
Authorization: Bearer <API key>. The key is bound to one laboratory, one API client and one environment. - Required scope:
serviceability:read. A key without it is refused with 403forbidden.
Request body
Required body fields: program_id, item_id.
{
"program_id": "00000000-0000-4000-8000-000000000001",
"item_id": "00000000-0000-4000-8000-000000000001",
"region": "synthetic",
"collection": "synthetic"
}Synthetic schema examples are illustrative, not eligible records. Set PROGRAM_ID and ITEM_ID from granted Programs/Catalog, ORDER_ID and RESULT_ID from current responses, and EXTERNAL_SUBJECT_ID to an opaque synthetic reference. Replace body identifiers with authorized records and include patient/provider/question fields only when current requirements request them. Use Sandbox; Production requires separate approval.
cURL
curl -s -X POST "$SOLIA_API_BASE/serviceability" \
-H "Authorization: Bearer $SOLIA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"program_id":"00000000-0000-4000-8000-000000000001","item_id":"00000000-0000-4000-8000-000000000001","region":"synthetic","collection":"synthetic"}'Responses
- 200 — Serviceability decision.
- 401 — Missing, invalid, revoked or expired key.
- 403 — Client, environment or scope denied.
- 429 — Per-instance client rate limit exceeded; honor Retry-After.
- 500 — Canonical request failed; reconcile uncertain actions.
- 503 — Required API configuration is unavailable.
{
"data": {
"serviceable": true,
"reasons": [
"synthetic"
]
},
"request_id": "synthetic"
}