The platform provides a comprehensive REST and GraphQL API for programmatic access to all features. This section provides an overview of the API capabilities.
Base URL:
https://api.platform.com/v1
GraphQL Endpoint:
https://api.platform.com/graphql
Authentication:
The API uses versioning to ensure stability:
API-Version: v1Authorization: Bearer YOUR_API_TOKEN
Authorization: Bearer YOUR_OAUTH_TOKEN
X-API-Key: YOUR_API_KEY
GET /recordings - List all recordingsGET /recordings/{id} - Get recording detailsPOST /recordings - Upload new recordingPUT /recordings/{id} - Update recordingDELETE /recordings/{id} - Delete recordingGET /recordings/{id}/transcript - Get transcriptGET /recordings/{id}/summary - Get AI summaryGET /meetings - List all meetingsGET /meetings/{id} - Get meeting detailsPOST /meetings - Create meetingPUT /meetings/{id} - Update meetingDELETE /meetings/{id} - Delete meetingGET /speakers - List all speakersGET /speakers/{id} - Get speaker detailsPOST /speakers - Create speakerPUT /speakers/{id} - Update speakerDELETE /speakers/{id} - Delete speakerGET /signals - List all signalsGET /signals/{id} - Get signal detailsPOST /signals - Create custom signalPUT /signals/{id} - Update signalGET /signals/results - Get signal detection resultsquery GetRecording($id: ID!) {
recording(id: $id) {
id
title
duration
transcript {
text
segments {
start
end
speaker
text
}
}
summary {
full
short
actionItems
}
}
}
mutation CreateMeeting($input: MeetingInput!) {
createMeeting(input: $input) {
id
title
scheduledStart
scheduledEnd
}
}
Request Format:
application/jsonapplication/jsonResponse Format:
{
"data": { ... },
"meta": {
"timestamp": "2024-01-01T00:00:00Z",
"version": "v1"
}
}
Error Response Format:
{
"error": {
"code": "ERROR_CODE",
"message": "Human-readable error message",
"details": { ... }
}
}
Common Error Codes:
400 - Bad Request401 - Unauthorized403 - Forbidden404 - Not Found429 - Rate Limit Exceeded500 - Internal Server ErrorList endpoints support pagination:
{
"data": [ ... ],
"pagination": {
"page": 1,
"perPage": 20,
"total": 100,
"totalPages": 5
}
}
Query Parameters:
page - Page number (default: 1)perPage - Items per page (default: 20, max: 100)Filtering:
GET /recordings?status=completed&folder=123
Sorting:
GET /recordings?sort=createdAt&order=desc
Webhooks allow you to receive real-time notifications:
Supported Events:
recording.processedrecording.failedmeeting.createdmeeting.updatedsignal.detectedtranscript.completedWebhook Payload:
{
"event": "recording.processed",
"timestamp": "2024-01-01T00:00:00Z",
"data": { ... }
}
For complete API documentation:
/graphql/schemaOfficial SDKs are available for:
npm install @platform/sdkpip install platform-sdkgem install platform-sdkgo get github.com/platform/sdk-goNote: For detailed API documentation, authentication guides, and code examples, visit the API documentation section in your account settings or contact our developer support team.