POST /api/v1/pharmacy/check
Send the items (medications) of a dispensation/sale to receive a structured interaction and clinical-alert check.
Headers
X-API-Key: sm_live_...Content-Type: application/json
Body (example)
{
"medications": [
{"name": "Simvastatin", "dose_mg": 40},
{"name": "Clarithromycin", "dose_mg": 500}
],
"language": "en"
}
The dose_mg field accepts a number (2.5) or a string with comma/dot ("2,5", "2.5", "2,5mg").
Response 200
The response follows the same contract as POST /api/v1/interactions/check, including
analysis_status, prescription_risk_level, prescription_score, normalized_medications,
interactions, unverified_pairs, source_coverage, analysis_metadata, warnings and
safety_notice.
- Required scope:
interactions:check. - Any pair that cannot be verified appears in
unverified_pairs. source_coveragemakes explicit what was queried, failed or skipped.- Cache reuse prioritizes
completeresponses.
Error responses
The error contract is identical to /interactions/check:
| HTTP | detail |
|---|---|
401 | API key required |
403 | API key inválida · Scope insuficiente para esta API key |
422 | medications missing/invalid (validation list) |
429 | Rate limit excedido |
504 | A análise excedeu o tempo limite. Tente novamente em instantes. |
// 403 — missing scope
{ "detail": "Scope insuficiente para esta API key" }
Full catalog: Responses & Error Codes.
GET /api/v1/pharmacy/routes
Returns a simple catalog with the recommended routes for pharmacy integration.