# Livepush Developers API Official REST API reference for Livepush. The Livepush API allows developers to programmatically manage live streams, multistreaming destinations, video libraries, recordings, scheduling, and media ingestion workflows. This specification defines the base structure for all Livepush API resources. Some endpoints may be introduced incrementally as additional APIs become available. Version: 1.0.0 License: Proprietary ## Servers Core Streams & Media APIs ``` https://octopus.livepush.io ``` Accounts & Billing APIs ``` https://squid.livepush.io ``` Livepush VOD Import API ``` https://vod-web-import-api.livepush.io ``` ## Security ### bearerAuth Type: http Scheme: bearer Bearer Format: JWT ## Download OpenAPI description [Livepush Developers API](https://api.livepush.io/_bundle/openapi.yaml) ## Accounts Account-level resources and metadata ### Get user details - [GET /account/this](https://api.livepush.io/openapi/accounts/paths/~1account~1this/get.md): Retrieves details of the currently authenticated user account. The response includes profile information, preferences, and basic billing metadata. ### Get user subscriptions - [GET /account/subscriptions](https://api.livepush.io/openapi/accounts/paths/~1account~1subscriptions/get.md): Returns a list of active and historical subscriptions associated with the authenticated user account. ## Streams Live stream creation and lifecycle management ### Get user streams - [GET /streams/mine](https://api.livepush.io/openapi/streams/paths/~1streams~1mine/get.md): Returns the list of live streams owned by the authenticated user. Each stream includes its configuration, assigned zone, metadata, and connected streaming destinations. ### Create a new stream - [POST /streams](https://api.livepush.io/openapi/streams/paths/~1streams/post.md): Creates a new live stream for the authenticated user. The stream is initialized with the provided category and name and is assigned to a default processing zone. ### Get stream by ID - [GET /streams/{streamId}](https://api.livepush.io/openapi/streams/paths/~1streams~1%7Bstreamid%7D/get.md): Retrieves details of a specific live stream owned by the authenticated user. The response includes stream metadata, configuration, zone assignment, and destinations. ### Delete live stream - [DELETE /streams/{streamId}](https://api.livepush.io/openapi/streams/paths/~1streams~1%7Bstreamid%7D/delete.md): Permanently deletes a live stream owned by the authenticated user. Once deleted, the live stream configuration, associated destinations, and related metadata will be removed and cannot be recovered. ## Destinations Streaming destinations (YouTube, Facebook, RTMP, etc.) ### List saved destinations - [GET /streams/me/destinations](https://api.livepush.io/openapi/destinations/paths/~1streams~1me~1destinations/get.md): Returns the list of saved streaming destinations owned by the authenticated user. Saved destinations can be used for multistreaming and may include platforms such as YouTube, Facebook, or custom RTMP endpoints. ### Create new stream destination - [POST /streams/{stream_id}/destinations](https://api.livepush.io/openapi/destinations/paths/~1streams~1%7Bstream_id%7D~1destinations/post.md): Creates and attaches a new streaming destination to the specified live stream. This endpoint is used to add platforms such as YouTube, Facebook, or custom RTMP destinations to an existing live stream. ### Enable stream destination - [PUT /streams/{stream_id}/destinations/{destination_id}/enable](https://api.livepush.io/openapi/destinations/paths/~1streams~1%7Bstream_id%7D~1destinations~1%7Bdestination_id%7D~1enable/put.md): Enables a previously added destination for the specified live stream. Once enabled, the destination will start receiving the live stream when the stream is online. ### Disable stream destination - [PUT /streams/{stream_id}/destinations/{destination_id}/disable](https://api.livepush.io/openapi/destinations/paths/~1streams~1%7Bstream_id%7D~1destinations~1%7Bdestination_id%7D~1disable/put.md): Disables an active destination for the specified live stream. When disabled, the destination will no longer receive the live stream until it is re-enabled. ### Delete stream destination - [DELETE /streams/{stream_id}/destinations/{destination_id}](https://api.livepush.io/openapi/destinations/paths/~1streams~1%7Bstream_id%7D~1destinations~1%7Bdestination_id%7D/delete.md): Permanently deletes a destination from the specified live stream. Once deleted, the destination will be removed entirely and can no longer be enabled or reused. ## Videos Video library and VOD assets ### Get user videos - [GET /streams/me/videos](https://api.livepush.io/openapi/videos/paths/~1streams~1me~1videos/get.md): Returns the list of video assets owned by the authenticated user. These videos can be used for pre-recorded live streams, scheduling, or other video-based workflows. ## Video Imports Import videos from direct URLs (S3, HTTPS) ### Inspect remote video metadata - [POST /inspector/get_metadata](https://api.livepush.io/openapi/video-imports/inspectvideometadata.md): Inspects a video hosted at a direct URL (e.g. Amazon S3, HTTPS) and returns metadata required before starting a video import. This step is mandatory before creating a transfer. ### Start a new video import - [POST /transfers/new](https://api.livepush.io/openapi/video-imports/createvideoimport.md): Starts an asynchronous video import using the metadata ID returned by the inspector endpoint. ### List queued video imports - [GET /transfers/queued](https://api.livepush.io/openapi/video-imports/listqueuedvideoimports.md): Returns video imports that are currently queued or processing. If a previously created video ID is no longer present, the import is considered complete and the video will appear in the VOD library. ## Stream Recordings Recordings generated from live streams ### List user stream recordings - [GET /streams/me/recordings](https://api.livepush.io/openapi/stream-recordings/paths/~1streams~1me~1recordings/get.md): Returns the list of stream recordings owned by the authenticated user. These recordings are generated from live streams and may include completed, queued, or errored recording entries. ### List stream recordings by stream - [GET /streams/{stream_id}/recordings](https://api.livepush.io/openapi/stream-recordings/paths/~1streams~1%7Bstream_id%7D~1recordings/get.md): Returns the list of recordings generated for a specific live stream. This endpoint is useful for retrieving all historical recordings associated with a single stream. ## Stream Zones Processing and storage regions ### List available rtmp ingestion zones - [GET /zones/simulcast](https://api.livepush.io/openapi/stream-zones/paths/~1zones~1simulcast/get.md): Returns the list of available stream zones that can be used for simulcast and stream deployment. Zones represent geographic regions and infrastructure locations available for publishing and routing live streams. ## Stream Scheduler Scheduled and automated streaming ### Attach Videos to the Pre-Recorded Stream Playlist - [PUT /streams/{stream_id}/config/scheduler/playlist](https://api.livepush.io/openapi/stream-scheduler/paths/~1streams~1%7Bstream_id%7D~1config~1scheduler~1playlist/put.md): Attaches one or more existing videos to the scheduler playlist of a pre-recorded live stream. The playlist defines the playback order for scheduled or looping pre-recorded live streams. ### Configure scheduler looping - [PUT /streams/{stream_id}/config/scheduler/loop](https://api.livepush.io/openapi/stream-scheduler/paths/~1streams~1%7Bstream_id%7D~1config~1scheduler~1loop/put.md): Enables or disables looping for the scheduler playlist. When enabled, the playlist will repeat indefinitely, allowing continuous 24/7 pre-recorded live streaming. ### Schedule a pre-recorded live stream - [POST /streams/{stream_id}/config/scheduler/events](https://api.livepush.io/openapi/stream-scheduler/paths/~1streams~1%7Bstream_id%7D~1config~1scheduler~1events/post.md): Schedules a pre-recorded live stream to start at a specific date and time using the configured playlist. This endpoint is used for both one-time scheduled events and looping (24/7) streams. ### Delete scheduled stream event - [DELETE /streams/{stream_id}/config/scheduler/events/{event_id}](https://api.livepush.io/openapi/stream-scheduler/paths/~1streams~1%7Bstream_id%7D~1config~1scheduler~1events~1%7Bevent_id%7D/delete.md): Deletes a scheduled pre-recorded live stream event before it starts. This operation does not affect the stream configuration or playlist. ### End active scheduled stream - [PUT /streams/{stream_id}/config/scheduler/events/{event_id}/end](https://api.livepush.io/openapi/stream-scheduler/paths/~1streams~1%7Bstream_id%7D~1config~1scheduler~1events~1%7Bevent_id%7D~1end/put.md): Stops a currently running pre-recorded live stream event. Ending a stream is not instantaneous and may take a few seconds to fully stop playback and disconnect destinations.