Skip to main content
POST
/
livestreams
curl -X POST "https://api.tktchurch.com/v1/livestreams" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Sunday Service",
    "description": "Join us for our weekly Sunday service",
    "youtubeUrl": "https://youtube.com/watch?v=abc123",
    "scheduledStartTime": "2024-01-21T10:00:00Z",
    "tags": ["sunday-service", "worship"],
    "thumbnailUrl": "https://example.com/thumbnail.jpg"
  }'
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "title": "Sunday Service",
  "description": "Join us for our weekly Sunday service",
  "youtubeUrl": "https://youtube.com/watch?v=abc123",
  "customStreamUrl": null,
  "status": "scheduled",
  "scheduledStartTime": "2024-01-21T10:00:00Z",
  "actualStartTime": null,
  "endTime": null,
  "tags": ["sunday-service", "worship"],
  "thumbnailUrl": "https://example.com/thumbnail.jpg",
  "thumbnail": null,
  "createdByUserId": "123e4567-e89b-12d3-a456-426614174002",
  "updatedByUserId": "123e4567-e89b-12d3-a456-426614174002",
  "createdAt": "2024-01-20T15:00:00Z",
  "updatedAt": "2024-01-20T15:00:00Z"
}
This endpoint requires authentication and the createLivestream permission.

Request Body

title
string
required
Title of the livestream
description
string
required
Description of the livestream
youtubeUrl
string
YouTube URL for the livestream
customStreamUrl
string
Custom streaming URL
scheduledStartTime
string
Scheduled start time in ISO 8601 format
tags
array
required
Array of tags associated with the livestream
thumbnailUrl
string
URL of the livestream thumbnail
thumbnailId
string
UUID of the uploaded thumbnail file

Response

Returns the created livestream object.
id
string
Livestream’s unique identifier (UUID)
title
string
Title of the livestream
description
string
Description of the livestream
youtubeUrl
string
YouTube URL for the livestream
customStreamUrl
string
Custom streaming URL
status
string
Current status of the livestream (defaults to “scheduled”)
scheduledStartTime
string
Scheduled start time in ISO 8601 format
tags
array
Array of tags associated with the livestream
thumbnailUrl
string
URL of the livestream thumbnail
thumbnail
object
Thumbnail file information
createdByUserId
string
UUID of the user who created the livestream
updatedByUserId
string
UUID of the user who last updated the livestream
createdAt
string
Creation timestamp in ISO 8601 format
updatedAt
string
Last update timestamp in ISO 8601 format

Error Responses

error
object
Error details when the request fails
Common error cases:
  • 400 Bad Request: Invalid request body
  • 401 Unauthorized: Missing or invalid access token
  • 403 Forbidden: Missing required permission
curl -X POST "https://api.tktchurch.com/v1/livestreams" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Sunday Service",
    "description": "Join us for our weekly Sunday service",
    "youtubeUrl": "https://youtube.com/watch?v=abc123",
    "scheduledStartTime": "2024-01-21T10:00:00Z",
    "tags": ["sunday-service", "worship"],
    "thumbnailUrl": "https://example.com/thumbnail.jpg"
  }'
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "title": "Sunday Service",
  "description": "Join us for our weekly Sunday service",
  "youtubeUrl": "https://youtube.com/watch?v=abc123",
  "customStreamUrl": null,
  "status": "scheduled",
  "scheduledStartTime": "2024-01-21T10:00:00Z",
  "actualStartTime": null,
  "endTime": null,
  "tags": ["sunday-service", "worship"],
  "thumbnailUrl": "https://example.com/thumbnail.jpg",
  "thumbnail": null,
  "createdByUserId": "123e4567-e89b-12d3-a456-426614174002",
  "updatedByUserId": "123e4567-e89b-12d3-a456-426614174002",
  "createdAt": "2024-01-20T15:00:00Z",
  "updatedAt": "2024-01-20T15:00:00Z"
}