REST API (v1)
All primary resources, orgs, users, courses, paths, enrolments, certificates, attestations. Typed OpenAPI 3.1 spec at /api/openapi.json. Rate-limited per tenant (generous).
Loading...
Core APIs
Quickstart
$TOKEN and $TENANT below. This call lists the first ten courses in your tenant.curl -X GET "https://$TENANT.hall.colport.io/api/v1/courses?limit=10" \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json"
# Response (trimmed):
# {
# "data": [
# {
# "id": "crs_01H...",
# "title": "GDPR awareness 2026",
# "status": "PUBLISHED",
# "durationMinutes": 25,
# "enrollments_count": 184,
# "createdAt": "2026-01-14T09:42:00Z"
# }
# ],
# "pagination": { "nextCursor": null, "limit": 10 }
# }xAPI example
POST https://your-lrs.example.com/xapi/statements
{
"actor": {
"account": { "homePage": "https://hall.colport.io", "name": "usr_01H..." },
"name": "Jan de Vries"
},
"verb": {
"id": "http://adlnet.gov/expapi/verbs/completed",
"display": { "en": "completed" }
},
"object": {
"id": "https://hall.colport.io/courses/crs_01H...",
"definition": {
"name": { "en": "GDPR awareness 2026" },
"type": "http://adlnet.gov/expapi/activities/course"
}
},
"result": { "score": { "scaled": 0.92, "raw": 46, "max": 50 }, "completion": true, "success": true },
"timestamp": "2026-04-21T14:22:18Z"
}Limits + conventions
Reference
Email devs@colport.io with your use-case + a rough architecture. We turn around sandbox credentials within 1 business day.
Request a demo