Skip to main content
The Credentials Portal API gives you programmatic access to your district’s data. Use it to build integrations, automate workflows, or connect external reporting tools.
The API is scoped to your district. You can only read and write data within the district associated with your API key or session token.

Base URL

https://app.credentialsportal.com/api
All endpoints are relative to this base URL.

Authentication

All API requests require authentication via a Bearer token. See Authentication for details on session tokens and API keys.
Authorization: Bearer <your_token_or_api_key>

Request format

  • Content-Type: application/json for all request bodies
  • Date format: Unix timestamps in milliseconds (e.g., 1709942400000) for date fields returned by the API; ISO 8601 strings (e.g., 2026-02-15) for date input fields

Response format

All responses are JSON. Successful responses return the requested data. Error responses follow a consistent structure:
{
  "error": "A human-readable error message"
}

HTTP status codes

CodeMeaning
200Success
201Created
400Bad request — check your request body
401Unauthorized — missing or invalid token
403Forbidden — your role doesn’t have permission for this action
404Not found
402Payment required — trial expired or subscription inactive
500Internal server error

Multilingual fields

Many fields in the API return multilingual objects — a JSON object where keys are language codes and values are the translated strings:
{
  "name": {
    "en": "Ministerial Track",
    "es": "Camino Ministerial"
  }
}
When writing to multilingual fields, include the language code as the key:
{
  "name": { "en": "My Custom Role" }
}

Pagination

List endpoints return all records by default. For large districts, responses may be large — plan accordingly.

API support

Questions about the API? Email api@credentialsportal.com.