Developer API · v1

Build with EdCast

Programmatically create meetings, generate join links, and automate session management for your organization.

REST API API Key Auth JSON Free Tier Available

Authentication

Every API request must include your organization's secret key.

Pass your API key in the X-API-Key header on every request. Keys follow the format sk_live_xxxxxxxxxxxx.

HTTP Header
X-API-Key: sk_live_your_secret_key_here
⚠️
Never expose your API key in client-side code, public repositories, or emails. Regenerate it immediately if compromised.
🔑
To get an API key, create an Organization account at edcast.online, complete email verification and account activation, then go to Settings → Developer to apply. Active accounts are approved instantly.

Base URL

All endpoints are relative to this URL. Use HTTPS only.

Production
https://api.edcast.online/api/developer/v1

Set Content-Type: application/json on all POST requests.

Usage Tiers & Limits

Limits are tied to your organization's active subscription plan.

Free Basic DEFAULT
10 meetings / month via API
Max 10 min per meeting
Public visibility only
Shareable join links
Custom duration
Unlimited meetings
Pro / Organization PREMIUM
Unlimited meetings / month
Unlimited duration
Public visibility
Shareable join links
Custom end dates
Priority support

Create Meeting

Create an instant or scheduled meeting and receive a shareable join link.

POST /api/developer/v1/meetings

Creates a new meeting for your organization. All meetings created via the API are public by default.

Request Headers
X-API-Key: sk_live_your_key_here
Content-Type: application/json
Request Body
FieldTypeRequiredDescription
typestringNo "instant" (default) or "normal"
titlestringNo Meeting name. Defaults to "Instant Meeting"
end_datestring (ISO 8601)No End datetime for normal type. Free tier capped at 10 min.
Example — Instant
POST /api/developer/v1/meetings
X-API-Key: sk_live_xxxxxxxxxxxx
Content-Type: application/json

{ "type": "instant" }
Example — Scheduled
POST /api/developer/v1/meetings
X-API-Key: sk_live_xxxxxxxxxxxx
Content-Type: application/json

{
  "type": "normal",
  "title": "Weekly Team Sync",
  "end_date": "2026-05-01T15:00:00Z"
}
Response (201)
{
  "success": true,
  "data": {
    "id": 1245,
    "title": "Weekly Team Sync",
    "meeting_code": "xH9kL2pQaB",
    "join_link": "https://edcast.online/xH9kL2pQaB",
    "visibility": "public",
    "start_time": "2026-04-20T10:00:00Z",
    "end_time": "2026-04-20T10:10:00Z",
    "created_at": "2026-04-20T09:58:00Z"
  }
}

List Meetings

Retrieve all meetings your organization created via the Developer API.

GET /api/developer/v1/meetings

Returns all meetings belonging to your organization, newest first, with join links included.

Request Header
X-API-Key: sk_live_your_key_here
Response (200)
{
  "success": true,
  "count": 2,
  "data": [
    {
      "id": 1245,
      "title": "Weekly Team Sync",
      "meeting_code": "xH9kL2pQaB",
      "join_link": "https://edcast.online/xH9kL2pQaB",
      "visibility": "public",
      "start_time": "2026-04-20T10:00:00Z",
      "end_time": "2026-04-20T10:10:00Z",
      "created_at": "2026-04-20T09:58:00Z"
    }
  ]
}

Delete Meeting

Permanently delete a meeting and invalidate its join link.

DELETE /api/developer/v1/meetings/{id}

Deletes the specified meeting. The join link is immediately invalidated. This action is irreversible.

Request Header
X-API-Key: sk_live_your_key_here
Path Parameter
ParameterTypeDescription
idinteger The meeting ID returned at creation
Example
DELETE /api/developer/v1/meetings/1245
X-API-Key: sk_live_xxxxxxxxxxxx
Response (200)
{
  "success": true,
  "message": "Meeting and associated join link deleted successfully"
}

Error Codes

All errors return a JSON object with an error or message field.

HTTP StatusErrorCause
401Invalid API KeyX-API-Key is missing, invalid, or revoked.
403Account inactiveYour organization has been deactivated.
403Monthly limit reachedFree tier — 10 API meetings used for this month.
400Validation errorA required field is missing or malformed.
404Meeting not foundID doesn't exist or belongs to another org.
500Internal server errorSomething went wrong on our end.
Example Error
{
  "success": false,
  "error": "Monthly limit reached",
  "message": "Free tier organizations can only create 10 meetings per month via the API."
}

Quick Start

Full end-to-end example in JavaScript.

JavaScript
const API_KEY = 'sk_live_your_key_here';
const BASE    = 'https://api.edcast.online/api/developer/v1';
const headers = { 'X-API-Key': API_KEY, 'Content-Type': 'application/json' };

// 1 — Create an instant meeting
const res  = await fetch(`${BASE}/meetings`, {
  method: 'POST',
  headers,
  body: JSON.stringify({ type: 'instant', title: 'My Meeting' }),
});
const { data } = await res.json();
console.log('Join:', data.join_link);
// → https://edcast.online/xH9kL2pQaB

// 2 — List all meetings
const list = await fetch(`${BASE}/meetings`, { headers });
const { data: meetings } = await list.json();

// 3 — Delete a meeting
await fetch(`${BASE}/meetings/${data.id}`, { method: 'DELETE', headers });