API Documentation
Integrate CEAS verification, provider lookup, and completion reporting into your systems.
🔧 API Version 1.0 — Currently in development. Endpoint specifications below represent the planned API structure.
Base URL
Authentication
All API requests (except certificate verification) require an API key sent in the Authorization header:
API keys are issued through the Provider Portal after accreditation.
Endpoints
/verify/{certificate_number}Public — No Auth
Verify the authenticity of a CEAS completion certificate.
Response (200):
“valid”: true,
“certificate_number”: “CEAS-2026-00001”,
“student_name”: “John Smith”,
“course_title”: “EMT Refresher”,
“provider_name”: “Example EMS Training”,
“contact_hours”: 24.0,
“completion_date”: “2026-03-15”,
“nccp_categories”: [“Preparatory”, “Trauma”]
}
/providersPublic — No Auth
List all accredited providers with optional filtering.
Parameters:
state |
Filter by state abbreviation (e.g., TX) |
status |
Filter by status: active, probation, suspended |
page, per_page |
Pagination (default: 25 per page) |
/providers/{provider_id}Public — No Auth
Get detailed information about a specific provider, including approved courses and enforcement history.
/completionsAuth Required
Submit a student completion record. Returns a certificate number on success.
Request Body:
“course_id”: “EMT-R-2026”,
“student_first_name”: “John”,
“student_last_name”: “Smith”,
“student_email”: “jsmith@email.com”,
“completion_date”: “2026-03-15”,
“score”: 87.5,
“contact_hours”: 24.0
}
/completions/batchAuth Required
Submit multiple completion records in a single request (up to 100 per batch). Same fields as single submission, wrapped in a JSON array.
/providers/{provider_id}/coursesPublic — No Auth
List all approved courses for a specific provider.
Error Responses
| Code | Meaning |
|---|---|
400 |
Bad Request — Invalid parameters or missing required fields |
401 |
Unauthorized — Missing or invalid API key |
404 |
Not Found — Resource does not exist |
422 |
Validation Error — Data format or business rule violation |
429 |
Rate Limited — Exceeded 100 requests per minute |
Rate Limits
API requests are limited to 100 requests per minute per API key. Public endpoints (no auth) are limited to 30 requests per minute per IP address. Rate limit headers (X-RateLimit-Remaining, X-RateLimit-Reset) are included in every response.
Get Your API Key
API keys are available to accredited providers through the Provider Portal.
