Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.coraltalk.com/llms.txt

Use this file to discover all available pages before exploring further.

Coraltalk Platform API

The Coraltalk Platform API lets organization admins programmatically manage courses, classes, and assessments. Build your own wrapper or LMS integration on top of Coraltalk without using the web UI for every operation.
The Platform API is available for organizations only. Independent teachers cannot create API keys. Teaching assistant (conversation widget) APIs are not included in v1.

Base URL

All API requests use:
https://app.coraltalk.com/api/v1/{env}/
Replace {env} with:
EnvironmentPath segmentAPI key prefix
Productionprodct_live_
Developmentdevct_test_
The key prefix must match the path environment. A ct_test_ key against /api/v1/prod/... returns 401 Unauthorized.

Response format

Successful responses use a consistent envelope:
{
  "data": { },
  "meta": {
    "requestId": "req_abc123"
  }
}
Errors:
{
  "error": {
    "code": "validation_error",
    "message": "name is required"
  },
  "meta": {
    "requestId": "req_abc123"
  }
}

What you can do

Courses & classes

Create and manage courses and nested classes (CRUD)

Oral assessments

Create voice-based oral exams assigned to a class

Roleplay

Create scenario-based speaking practice for a class

VidTickets

Create async video prompt assignments

Custom domains

Host branded oral/roleplay exam pages on your domain

Authentication

API keys, environments, and request logs

Prerequisites

Before calling the API:
  1. Your Coraltalk account must belong to an organization (not an independent teacher workspace).
  2. You must be an organization admin (org:admin in Clerk).
  3. Create an API key from API Keys in the organization sidebar at app.coraltalk.com.

Quick example

Create a course in production:
curl -X POST "https://app.coraltalk.com/api/v1/prod/courses" \
  -H "Authorization: Bearer ct_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Introduction to Biology", "level": "undergraduate"}'
See the Quickstart for a full walkthrough: course → class → oral assessment → student exam link.

Out of scope (v1)

  • Teaching assistant / conversation APIs
  • Independent (non-org) teacher access
  • Webhook callbacks to your server (planned for a future release)
  • Full Coraltalk platform on a custom domain (custom domains serve exam-taking pages only)