API Documentation

API

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

https://emsaccreditation.org/api/v1/

Authentication

All API requests (except certificate verification) require an API key sent in the Authorization header:

Authorization: Bearer YOUR_API_KEY

API keys are issued through the Provider Portal after accreditation.


Endpoints

GET
/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”]
}

GET
/providers
Public — 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)

GET
/providers/{provider_id}
Public — No Auth

Get detailed information about a specific provider, including approved courses and enforcement history.

POST
/completions
Auth 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
}

POST
/completions/batch
Auth Required

Submit multiple completion records in a single request (up to 100 per batch). Same fields as single submission, wrapped in a JSON array.

GET
/providers/{provider_id}/courses
Public — 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.

Provider Portal

Scroll to Top