Security & ProductionGuide
Troubleshooting
Common failures and the first thing to check.
On this page
Partner API
- 400
invalid_request— malformed JSON, missing required header or invalid parameter. Fix the request; do not retry unchanged. - 401
unauthorized— the key is missing, malformed, expired, revoked or inactive. Replace or rotate it; do not retry unchanged. - 403
forbidden— the authenticated key lacks the endpoint's required scope, the client is inactive, or the key's environment does not match. - 404
not_found— the resource is unknown or deliberately undisclosed because this client lacks its Program grant or environment access. - 409
conflict— an idempotency key was reused with a different request, or an order can no longer make the requested transition. - 422
unprocessable— the payload is structurally valid but the Program, item, clinical requirements or serviceability decision prevents the operation. - 429
rate_limited— wait forRetry-After, then retry the same logical request and idempotency key. /v1/v1in a URL —SOLIA_API_BASEalready ends in the version; append only the resource path.- Missing results — results are exposed only after release; unreleased versions remain pending or undisclosed.
Webhooks and reconciliation
- Signature mismatch — verify the exact raw request bytes before parsing, use the secret for this client and environment, and compare in constant time.
- Timestamp rejected — your clock is outside the allowed tolerance; synchronize it.
- Duplicate deliveries — expected (at-least-once). Deduplicate on the delivery and event identifiers.
- Gaps after an outage — read the event stream from your last persisted cursor, then re-read affected orders and results.
Laboratory integration
- Orders not arriving — confirm the selected environment, Production adapter state, connection validation and transmission history.
- Connection test passes but orders are rejected — the test proves reachability and authentication only; check the laboratory's acknowledgement payload and code mappings.
- Unmapped orderables — complete and validate Catalog mappings; Solia never guesses a laboratory code.
- Unresolved clinical policy — inspect Program requirements and governed questions. Manual review is intentional until authority is configured.
- Uncertain send — the transmission may have reached the laboratory without a conclusive response. Native paths suppress automatic resend, but HTTPS/JSON retains classified retries; an authorized operator must reconcile the original outcome with the laboratory. Do not create a replacement idempotency key or blindly resend.
- Result for the wrong order, or a correction — results must correlate to the original order and transmission; corrections arrive as new versions.
- Workspace, profile or environment mismatch — a transmission is only dispatched through a connection bound to the same workspace and environment; anything else is refused.
- Native REST, FHIR, HL7, SFTP or Edge not available — these are implemented but not enabled and require an approved installation; see Connectivity status.
- Webhook temporary failure — return 2xx quickly, inspect timeout/5xx/429 behavior and bounded
Retry-After; retries are scheduled automatically. - Webhook permanent failure or dead letter — correct the endpoint or authorization, then use supported replay rather than creating a duplicate subscription.
- Sandbox/Production confusion — verify the environment label and credential prefix; credentials, Programs, adapters and records never cross the pair.
Bounded reconciliation and escalation
Preserve bounded authorized non-clinical identities, current revision and unknown/refused state. Stop clinically uncertain sends; use existing authorized support/reconciliation paths and lab IT confirmation. No keys, clinical free text, fabricated contact, replacement order or blind resend belongs in an incident workaround.
Identity, callback, result and ACK troubleshooting
- Patient held for review: an identifier arrived without a recognized assigning authority (for example an HL7 PID-3 without CX.4, or a FHIR identifier without system), was expired or unverified, or matched more than one patient. Ask the laboratory to confirm the issuer; a reviewer resolves it.
- Callback quarantined: the callback could not be authenticated, was a replay, or matched zero or several orders (for example the same kit barcode across two Programs). It changes nothing until resolved.
- Result visible to the laboratory but not to your Program: results are returned only after an authorized laboratory release; preliminary results and interpretations are not final.
- Order shows sent but not accepted: the laboratory has not returned an application acknowledgement. Do not resubmit with a new key; use the same Idempotency-Key.
- Order shows outcome unknown: the send timed out. Solia is reconciling with the laboratory; it will not be resent automatically.