Welcome to the Alto Health API
The Alto Health API enables integration of our dual-AI referral processing platform into your clinic workflows. Automate referral ingestion, triage, and structured data export—reducing admin workload by 75% while maintaining clinical safety and explainability.Base URL
All API requests should be made to:Authentication
Alto Health uses API key-based authentication with organization-level scoping for security and data isolation.Authentication Types
Different endpoints require different authentication methods:Platform API Key
Used for: Document upload operationsHeaders Required:
org_id- Your organization IDplatform_api_key- Your platform API key
Assistant API Key
Used for: Entity extraction operationsHeaders Required:
assistant-api-key- Your assistant API key
Authentication Example
See the Authentication Guide for detailed security best practices and credential management.
API Endpoints Overview
File Endpoints
Upload Document
POST
/api/v1/pub/records/document-uploadUpload medical referrals and clinical documents for processing. Supports PDF and image formats.Get Job Status
GET
/v1/jobs/{job_id}Check the status of asynchronous extraction jobs. Poll until completion to retrieve extracted data.Health Check
GET
/api/v1/pub/healthVerify API availability and connectivity. No authentication required.Integration Workflow
Alto Health integrates into your existing clinical workflows:Upload Referral
Use POST /api/v1/pub/records/document-upload to ingest referrals from any source (email, fax, PDF). Receive a
record_id.Request Triage
Use POST /v1/extract to initiate automated triage with your clinic-specific rules. Receive a
job_id for async processing.Monitor Processing
Poll GET /v1/jobs/ to track Assistant and Judge evaluation. Typical completion: 10-30 seconds.
Rate Limits
To ensure fair usage and system stability, Alto Health implements the following rate limits:| Endpoint | Rate Limit |
|---|---|
| Document Upload | 100 requests/minute |
| Entity Extraction | 50 requests/minute |
| Job Status | 300 requests/minute |
429 Too Many Requests response with a retry_after header.
Response Format
All API responses follow a consistent JSON structure:Success Response
Error Response
HTTP Status Codes
| Code | Meaning | Description |
|---|---|---|
200 | OK | Request succeeded |
400 | Bad Request | Invalid request parameters |
401 | Unauthorized | Invalid or missing API key |
403 | Forbidden | API key lacks required permissions |
404 | Not Found | Resource doesn’t exist |
429 | Too Many Requests | Rate limit exceeded |
500 | Internal Server Error | Server error occurred |
503 | Service Unavailable | Service temporarily unavailable |
SDKs and Libraries
While Alto Health doesn’t provide official SDKs yet, our REST API works with any HTTP client:API Versioning
Alto Health uses URL-based versioning:- Current version: v1
- Base path:
/v1/or/api/v1/pub/
Support & Feedback
Get Help
Email: xiao@altohealth.ioResponse time: Within 24 hours
Report Issues
Found a bug or have API feedback?Contact: xiao@altohealth.io
API Status
Check real-time API health status
Request Features
Have ideas for new API features?Email: xiao@altohealth.io
