Zype Live 3 is supported by the Zype Live API, which enables you to programmatically manage live encoders and live events—including starting/stopping encoders, creating events, starting/stopping broadcasts, and archiving events. Live 3 is designed to remain backwards compatible with existing Live API integrations while enabling new Live 3 workflows.
Zype API Documentation for Live Events: https://docs.zype.com/reference/listliveevents
Zype API Documentation for Live Encoders: https://docs.zype.com/reference/listencoders
Base URL and Authentication
All examples below use the Zype API base URL:
Base URL:
https://api.zype.com
Most Live endpoints use your Zype API key via a query parameter (api_key).
Example: set your API key as an environment variable
export ZYPE_API_KEY="YOUR_API_KEY"Encoder API use cases
Use case: List encoders (discover encoder names)
Before you can start/stop an encoder, you’ll typically list encoders to identify the encoder_name you want to control.
API Reference: Encoders → “List Encoders”
Example request (cURL)
curl --request GET \
--url "https://api.zype.com/live/encoders?api_key=${ZYPE_API_KEY}" \
--header "accept: application/json"
Use case: View a specific encoder (validate status/config)
API Reference: Encoders → “View Encoder”
curl --request GET \
--url "https://api.zype.com/live/encoders/ENCODER_NAME?api_key=${ZYPE_API_KEY}" \
--header "accept: application/json"
Use case: Start an encoder
Start (power on / activate) a provisioned encoder.
API Reference: Start an Encoder (POST)
curl --request POST \
--url "https://api.zype.com/live/encoders/ENCODER_NAME/start?api_key=${ZYPE_API_KEY}" \
--header "accept: application/json"
Expected outcomes
200indicates success404encoder not found400start failed (configuration/state issue)
(These status patterns are shown on the API reference page UI.)
Use case: Stop an encoder
Stop (power off / deactivate) an encoder when you’re done streaming to avoid unnecessary runtime.
API Reference: Stop an Encoder (POST)
curl --request POST \
--url "https://api.zype.com/live/encoders/ENCODER_NAME/stop?api_key=${ZYPE_API_KEY}" \
--header "accept: application/json"
Live Event API use cases
Use case: List live events
Use this to find the id of an event you want to start/stop/archive, or to audit recent events.
API Reference: List Live Events (GET)
curl --request GET \
--url "https://api.zype.com/live_events?api_key=${ZYPE_API_KEY}" \
--header "accept: application/json"
Use case: Create a live event
Creates a new live event. You can typically configure metadata and event-level settings in the request body.
API Reference: Create Live Event (POST)
Example request (template)
Note: The exact live_event fields are defined in the API reference “Body Params” for your account/workflow. Use this example as a structural template and then fill in supported fields from the API page.
curl --request POST \
--url "https://api.zype.com/live_events?api_key=${ZYPE_API_KEY}" \
--header "accept: application/json" \
--header "content-type: application/json" \
--data '{
"live_event": {
"title": "My Live Event",
"description": "Example event created via API",
"encoder_name": "ENCODER_NAME",
"dvr": true,
"dvr_window_seconds": 21600
}
}'
If you want more narrative guidance on creating/broadcasting events, Zype also has an end-to-end help article for the Live Event wizard flow.
Use case: View a live event
Fetches event configuration and current state by id.
API Reference: View Live Event (GET)
curl --request GET \
--url "https://api.zype.com/live_events/LIVE_EVENT_ID?api_key=${ZYPE_API_KEY}" \
--header "accept: application/json"
Use case: Start broadcasting a live event
Transitions an event into “broadcasting” state (i.e., go-live), assuming your encoder is running and sending stream input.
API Reference: Start broadcasting a live event (PUT)
curl --request PUT \
--url "https://api.zype.com/live_events/LIVE_EVENT_ID/start?api_key=${ZYPE_API_KEY}" \
--header "accept: application/json"
Use case: Stop broadcasting a live event
Ends the broadcast. This is typically done when the live program is complete.
API Reference: Stop broadcasting a live event (PUT)
curl --request PUT \
--url "https://api.zype.com/live_events/LIVE_EVENT_ID/stop?api_key=${ZYPE_API_KEY}" \
--header "accept: application/json"
Use case: Archive a live event (create VOD from the live)
Creates an archived VOD copy from a live event after it has ended.
API Reference: Archive a live event (PUT)
curl --request PUT \
--url "https://api.zype.com/live_events/LIVE_EVENT_ID/archive?api_key=${ZYPE_API_KEY}" \
--header "accept: application/json"
Operational note: Zype’s Live Events API overview indicates archives must be created within the event’s active DVR window (commonly referenced as ~12 hours, depending on configuration).
Recommended API workflow patterns
Pattern A: “Live Event” On-Demand (scheduled or ad-hoc)
Start encoder (POST
/live/encoders/{encoder_name}/start)Create live event (POST
/live_events)Start broadcasting (PUT
/live_events/{id}/start)Stop broadcasting (PUT
/live_events/{id}/stop)Archive live event (PUT
/live_events/{id}/archive)Stop encoder (POST
/live/encoders/{encoder_name}/stop)
Pattern B: “Always-On” linear channel operations
Start encoder (when bringing the channel online)
Start/stop events as needed (or use event scheduling if applicable)
Stop encoder when taking channel offline
Troubleshooting and practical tips
If you receive
404 Encoder not found, first List Encoders and confirm the exactencoder_name.-
If starting an event fails, verify:
The encoder is actually started (and not idle/stopped).
Your upstream encoder (OBS/Elemental/etc.) is publishing to the expected ingest endpoint.
If archiving fails, confirm the archive request is happening inside your configured DVR window constraints.