ReferenceReference
Subjects endpoints
Exact request and response contracts for the subjects endpoints, generated from the enforced Partner API contract.
Machine-readable OpenAPI descriptionEndpoints in this group
/v1/subjects/{externalSubjectId}Register or update your opaque subject referenceImportant
Base path: /api/public/partner/v1. Every response carries request_id; every failure uses the standard error envelope documented under Errors.
PUT/v1/subjects/{externalSubjectId}
Register or update your opaque subject reference
Send only your own opaque identifier. Do not send names, dates of birth or clinical detail.
Authentication & scope
- Authentication:
Authorization: Bearer <API key>. The key is bound to one laboratory, one API client and one environment. - Required scope:
subjects:write. A key without it is refused with 403forbidden.
Path parameters
externalSubjectId(required) — string
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 PUT "$SOLIA_API_BASE/subjects/$EXTERNAL_SUBJECT_ID" \
-H "Authorization: Bearer $SOLIA_API_KEY"Responses
- 200 — The subject link.
- 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": {
"external_subject_id": "synthetic",
"linked": true
},
"request_id": "synthetic"
}