Developer API
API Documentation
Integrate Barikhan Studio into your applications and workflows with our RESTful API.
Quick Start
- 1Get your API key from Dashboard → Settings → API
- 2Base URL:
https://api.barikhan.studio/v1 - 3Include
Authorization: Bearer YOUR_API_KEYin all requests
curl -X POST https://api.barikhan.studio/v1/broadcasts \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Weekly Product Update",
"description": "Live product demo and Q&A",
"scheduled_at": "2025-02-01T15:00:00Z",
"destinations": ["youtube", "linkedin"]
}'API Keys
Secure authentication with API keys. Create multiple keys with different permissions.
Webhooks
Real-time notifications for broadcast events, recording completion, and clip generation.
Rate Limiting
Generous rate limits with clear headers. 1000 requests/minute on Pro plans.
Async Operations
Long-running operations return immediately with job IDs. Poll or use webhooks for status.
API Endpoints
Broadcasts
POST
/api/v1/broadcastsGET
/api/v1/broadcastsGET
/api/v1/broadcasts/{id}PATCH
/api/v1/broadcasts/{id}DELETE
/api/v1/broadcasts/{id}POST
/api/v1/broadcasts/{id}/startPOST
/api/v1/broadcasts/{id}/stopRecordings
GET
/api/v1/recordingsGET
/api/v1/recordings/{id}GET
/api/v1/recordings/{id}/downloadDELETE
/api/v1/recordings/{id}AI Clips
POST
/api/v1/clips/generateGET
/api/v1/clipsGET
/api/v1/clips/{id}PATCH
/api/v1/clips/{id}DELETE
/api/v1/clips/{id}Destinations
GET
/api/v1/destinationsPOST
/api/v1/destinationsDELETE
/api/v1/destinations/{id}Webhooks
GET
/api/v1/webhooksPOST
/api/v1/webhooksDELETE
/api/v1/webhooks/{id}JavaScript/TypeScript SDK
import { BksClient } from '@barikhan-studio/sdk';
const client = new BksClient({
apiKey: process.env.BKS_API_KEY
});
// Create a new broadcast
const broadcast = await client.broadcasts.create({
title: 'Weekly Product Update',
description: 'Live product demo and Q&A',
scheduledAt: new Date('2025-02-01T15:00:00Z'),
destinations: ['youtube', 'linkedin']
});
// Start the broadcast when ready
await client.broadcasts.start(broadcast.id);
// Listen for events via webhooks
client.webhooks.on('broadcast.ended', async (event) => {
console.log('Broadcast ended:', event.data.id);
// Auto-generate AI clips
await client.clips.generate({
recordingId: event.data.recordingId,
count: 5
});
});Example Response
{
"id": "bc_2xaK9mNop",
"title": "Weekly Product Update",
"description": "Live product demo and Q&A",
"status": "scheduled",
"scheduled_at": "2025-02-01T15:00:00Z",
"destinations": [
{ "platform": "youtube", "status": "ready" },
{ "platform": "linkedin", "status": "ready" }
],
"created_at": "2025-01-15T10:30:00Z",
"studio_url": "https://barikhan.studio/studio/bc_2xaK9mNop"
}Webhook Events
Subscribe to these events to receive real-time notifications about your broadcasts.
Broadcast Events
broadcast.createdbroadcast.startedbroadcast.endedbroadcast.failed
Recording Events
recording.readyrecording.deleted
Clip Events
clip.generatedclip.failed
Guest Events
guest.joinedguest.left
Need Help?
Our developer support team is here to help you integrate Barikhan Studio into your application.