Cloud-native SaaS for Master Control, Playout, Distribution and Monetization of Live, Linear, FAST and VOD. AI-enhanced, backed by a service-obsessed team.
See how Evrideo unifies contribution, master control, playout, distribution, clipping and ad insertion into one seamless cloud-native platform — so you can modernise at your own pace and reach audiences everywhere.
Your Audience Migrated. Your Budget Didn't. Neither did your Infrastructure.
To survive, you must follow your audience everywhere, FAST, VOD, Social, OTT and Linear. But traditional workflows force you to stitch together a "Frankenstein Stack" of 15+ vendors.
The result? Operational chaos, skyrocketing costs, and zero agility. You're spending 80% of your budget just keeping the lights on.
That's why you need Evrideo. We give you your agility back and cut your costs at the same time.
42%
Average TCO Reduction
18mo
ROI Breakeven Time
100%
Improved Agility
The Broadcast Operations Platform
Intelligently routing content from any source to any destination.
CLOUD-NATIVE INFRASTRUCTURE
Built for the Speed of Digital.
Surgical or Full Stack
Deploy a single FAST channel in minutes, or migrate your entire broadcast facility. Our platform adapts to your pace.
Global Distribution
Deliver pristine video to any endpoint—satellite, cable, OTT, or FAST platforms—with a single click.
AI-Powered Autonomization
Automate scheduling, compliance, and graphics with our integrated AI engine, reducing manual workload by 60%.
A Platform AND A Partner
We are a Customer Led company. We turn your problems into our roadmap. We don't just sell you software and wish you luck. Our SaaS platform delivers the unified technology stack—fully managed, continuously updated, and backed by operational expertise.
Unify Operations
Replace your "Frankenstein Stack" with a single, cloud-native platform that handles Ingest, MAM, Playout, Graphics, and Distribution.
Single pane of glass
Cloud-native architecture
Extend Teams
We are service-obsessed. Our Master Control operators and broadcast engineers act as an extension of your team, 24/7/365.
Managed Operations
Expert Co-Pilots
De-Risk the Future
True SaaS pricing: turn unpredictable CapEx into predictable OpEx. Scale channels up and down instantly without buying hardware.
Zero CapEx
Transparent Pricing
The Operating System for Modern Broadcasters.
Launch channels faster, distribute smarter, and operate more efficiently with a Platform designed for the streaming era.
Evrideo | Cloud Master Control, Playout, Distribution & Monetization
"We went from explaining why we couldn't keep up—to presenting a roadmap that puts us two years ahead. Evrideo gave us operational capacity to execute our vision."
VP of Operations Regional Broadcaster
One Platform. Specialized Workflows.
The same unified core, configured for your specific mission.
Common questions from engineering and operations teams.
Cloud-native SaaS eliminates the hardware refresh cycles, reduces CapEx to zero, and gives you instant scalability. You can spin up new channels, add distribution endpoints, and expand geographically without procuring physical infrastructure—while benefiting from continuous platform updates and AI-driven automation.
With Evrideo, you can launch a new channel in hours, not months. Our cloud-native infrastructure and pre-integrated distribution connectors mean you can go from content to live broadcast without lengthy hardware procurement or complex integrations.
Evrideo supports multi-region deployments and can be operated in cloud environments and hybrid models. We work with all major cloud providers and can integrate with your existing on-premise infrastructure where needed.
No. Evrideo is designed to deploy in parallel with your current infrastructure—no rip-and-replace required. You can migrate workloads gradually, starting with specific channels or workflows, while maintaining your existing operations.
Every client gets a dedicated Customer Success Manager, proactive 24/7 monitoring, and human-led support. We don't just sell software—we partner with you operationally to ensure your channels run flawlessly.
Evrideo offers flexible pricing based on your specific needs and scale. Whether you're launching your first FAST channel or migrating a full broadcast facility, we'll build a commercial model that fits your business.
You do. All content, analytics, and operational data remain your property. Evrideo provides the platform and infrastructure; you retain full ownership and control of your assets.
Absolutely. Evrideo supports 24/7 live channel management with broadcast-grade reliability, automated failover, and real-time monitoring. We handle live sports, news, entertainment, and everything in between.
We support all common broadcast/streaming outputs and formats used for playout and distribution (e.g., HLS, DASH, RTMP, SRT, SDI, ASI, SMPTE 2110) as well as all common ingest protocols and file formats.
An automated task is executed by a system once a human (or trigger) initiates it, following predefined rules. An autonomized workflow uses AI to make decisions, adapt to changing conditions, and act without human initiation—reducing manual intervention across your entire broadcast operation.
Latest from the Blog
Insights, guides, and perspectives from the team building the future of cloud-native broadcast infrastructure.
Intégrez la plateforme Evrideo pour gérer vos chaînes, mettre en ligne du contenu et automatiser les flux de diffusion par programmation.
● API REST
● Porteur Token Auth
● JSON + CSV
● Version 1.0 - mai 2026
Aperçu
L'API Evrideo Backoffice (Version 1.0) fournit un accès programmatique aux capacités de base de la plateforme de gestion de diffusion Evrideo. Cette référence couvre les points d'accès de niveau 1 destinés aux clients - la surface conçue pour les flux de travail d'intégration : authentification, gestion des médias, mise à jour des métadonnées, programmation des contenus, exportation des données EPG et as-run, prévisualisation des chaînes et gestion des flux en direct.
Tous les points d'accès sont desservis par HTTPS. Les points de terminaison authentifiés ont besoin d'un jeton de support obtenu à partir de l'application /token point de terminaison. Les jetons sont des JWT à courte durée de vie ; rafraîchissez-les avant qu'ils n'expirent.
URL de base (Example)
https://app2.evrideo.com
Tenant-specific base URL
The base URL is tenant-specific and is provided during onboarding. The app2.evrideo.com URL shown throughout this documentation is an example only — some tenants are hosted on different servers (e.g. oci-fs4.evrideo.com). All API calls must use the base URL assigned to your tenant.
Authentification requise
Tous les points d'aboutissement, à l'exception de /token, /auth/sso, and the unauthenticated Aperçu endpoints require an Authorization: Bearer <token> header.
1. L'authentification
Obtenir un jeton de support JWT pour authentifier les appels d'API ultérieurs
Tous les appels API authentifiés nécessitent un jeton Bearer. Vous pouvez l'obtenir en envoyant vos informations d'identification à /token (standard login) or /auth/sso (SSO integration). The response includes the token, its type, and expiration. Include the token in all subsequent requests as Authorization: Bearer <token>.
Connexion standard
Authentification par nom d'utilisateur/mot de passe avec option 2FA
POST/token
Issues a JWT access token for authenticated users. Accepts credentials via a application/x-www-form-urlencoded body. The grant_type and client_id fields are required in addition to credentials.
usernamebodystringObligatoire
The user's login username (URL-encoded if it contains special characters such as @).
passwordbodystringObligatoire
Le mot de passe de l'utilisateur.
grant_typebodystringObligatoire
Obligatoire. Must be the literal value: password
client_idbodystringObligatoire
Obligatoire. Must be the literal value: evrideo
twoFactorbodystringFacultatif
Code d'authentification à deux facteurs facultatif.
Paramètre
In
Type
Obligatoire
Description
username
body
string
Obligatoire
The user's login username (URL-encoded if it contains special characters such as @).
password
body
string
Obligatoire
Le mot de passe de l'utilisateur.
grant_type
body
string
Obligatoire
Obligatoire. Must be the literal value: password
client_id
body
string
Obligatoire
Obligatoire. Must be the literal value: evrideo
twoFactor
body
string
Facultatif
Code d'authentification à deux facteurs facultatif.
Tokens expire after 1 hour (expires_in: 3600). We recommend refreshing the token after approximately 50 minutes to avoid unexpected 401 errors mid-workflow.
200—Returns access token, type, and expiration400—Invalid credentials or 2FA required
SSO Login
Authentification par signature unique pour les locataires compatibles SSO
POST/auth/sso
Emet un jeton d'accès JWT pour les utilisateurs authentifiés par SSO. Accepte les informations d'identification SSO via un corps JSON et renvoie un jeton de support en cas d'authentification unique réussie.
tokenbodystringFacultatif
Le jeton SSO du fournisseur d'identité.
domainbodystringFacultatif
L'identifiant du domaine SSO.
Paramètre
In
Type
Obligatoire
Description
token
body
string
Facultatif
Le jeton SSO du fournisseur d'identité.
domain
body
string
Facultatif
L'identifiant du domaine SSO.
200—Returns access token, type, and expiration400—Invalid SSO credentials or 2FA required
2. Metadata
Points d'extrémité V2 pour la gestion des métadonnées, les opérations de marquage et l'accès aux chaînes et aux émissions
L'API Metadata offre une surface d'intégration simplifiée pour les flux de travail basés sur les métadonnées. Ces points d'accès permettent de consulter les définitions des champs de métadonnées, de gérer les balises, de récupérer ou de mettre à jour les médias par identifiant personnalisé et d'accéder aux chaînes et aux émissions. Tous les points de terminaison nécessitent une authentification.
Obtenir les noms des champs de métadonnées
GET/api/v2/metadataNames
Récupère la liste des noms des champs de métadonnées configurés pour le locataire actuel. Ne renvoie que les noms des champs de métadonnées personnalisés pour simplifier l'intégration.
200—Returns metadata field names500—Server error during retrieval
Obtenir les définitions des métadonnées du locataire
GET/api/v2/tenantMetadata
Récupère les définitions complètes des champs de métadonnées pour le locataire actuel, y compris les modèles de métadonnées complets et les configurations des champs.
200—Returns full metadata definitions500—Server error during retrieval
Obtenir toutes les étiquettes
GET/api/v2/tags/all
Récupère toutes les balises du groupe de balises GENERAL pour le locataire actuel. Renvoie uniquement les noms des balises du groupe de balises GENERAL par défaut.
200—Returns tag names500—Server error during retrieval
Obtenir l'identifiant interne du média par l'identifiant personnalisé
GET/api/v2/medias/getId
Obtient l'identifiant interne du média par identifiant personnalisé/unique. Recherche les médias à l'aide de l'identifiant personnalisé propre au locataire - utile lors de l'intégration avec des systèmes externes qui référencent les médias à l'aide de leurs propres identifiants.
customIdquerystringFacultatif
L'ID personnalisé spécifique au locataire à rechercher.
Paramètre
In
Type
Obligatoire
Description
customId
query
string
Facultatif
L'ID personnalisé spécifique au locataire à rechercher.
200—Returns internal media ID404—No media with specified custom ID500—Server error during lookup
Création d'un contrat (supports de réservation)
POST/api/v2/medias/createContract
Crée un nouvel élément média contractuel (placeholder) avec un identifiant personnalisé. Crée un contrat sans titre avec une durée par défaut d'une heure qui peut être remplie ultérieurement avec un contenu média réel.
200—Returns new contract ID500—Server error during creation
Mise à jour des métadonnées des médias par identifiant personnalisé
PUT/api/v2/medias/metadata/{mediaUniqueId}
Met à jour les métadonnées d'un média identifié par son identifiant personnalisé. Recherche un média par son identifiant personnalisé et met à jour les champs de métadonnées spécifiés.
mediaUniqueIdpathstringObligatoire
L'ID personnalisé spécifique au locataire du média à mettre à jour.
metadatabodyobjectFacultatif
Paires clé-valeur des champs de métadonnées à mettre à jour.
Paramètre
In
Type
Obligatoire
Description
mediaUniqueId
path
string
Obligatoire
L'ID personnalisé spécifique au locataire du média à mettre à jour.
metadata
body
object
Facultatif
Paires clé-valeur des champs de métadonnées à mettre à jour.
200—Metadata updated404—No media with specified custom ID500—Server error during update
Mise à jour des métadonnées des médias par identifiant interne
PUT/api/v2/medias/{mediaId}/metadata
Met à jour les champs de métadonnées personnalisés d'un élément multimédia en utilisant son identifiant interne.
mediaIdpathintegerObligatoire
L'ID interne du média à mettre à jour.
metadatabodyobjectFacultatif
Paires clé-valeur des champs de métadonnées à mettre à jour.
Paramètre
In
Type
Obligatoire
Description
mediaId
path
integer
Obligatoire
L'ID interne du média à mettre à jour.
metadata
body
object
Facultatif
Paires clé-valeur des champs de métadonnées à mettre à jour.
200—Metadata updated500—Server error during update
Mise à jour des étiquettes des médias
PUT/api/v2/medias/{mediaId}/tags
Met à jour les balises d'un média. Crée les nouvelles balises qui n'existent pas, puis attribue toutes les balises spécifiées au média. Remplace l'attribution de balises existante.
mediaIdpathintegerObligatoire
L'ID interne du média à mettre à jour.
tagsbodystring[]Facultatif
Liste des noms de balises à attribuer à l'élément multimédia.
Paramètre
In
Type
Obligatoire
Description
mediaId
path
integer
Obligatoire
L'ID interne du média à mettre à jour.
tags
body
string[]
Facultatif
Liste des noms de balises à attribuer à l'élément multimédia.
200—Tags updated500—Server error during update
Mise à jour du titre du média
PUT/api/v2/medias/{mediaId}/title
Met à jour le titre/nom d'affichage d'un élément multimédia.
mediaIdpathintegerObligatoire
L'ID interne du média à mettre à jour.
titlebodystringFacultatif
Le nouveau titre de l'élément de média.
Paramètre
In
Type
Obligatoire
Description
mediaId
path
integer
Obligatoire
L'ID interne du média à mettre à jour.
title
body
string
Facultatif
Le nouveau titre de l'élément de média.
200—Title updated500—Server error during update
Obtenir des chaînes
GET/api/v2/channels
Récupère la liste des chaînes du locataire actuel. Renvoie l'ID et le nom du canal pour tous les canaux du locataire.
200—Returns channel list500—Server error during retrieval
Obtenir les médias par étiquette
GET/api/v2/medias
Récupère les éléments multimédias filtrés par étiquette. Retourne une liste de médias avec la balise spécifiée. Le filtre est obligatoire.
tagquerystringObligatoire
Nom d'étiquette requis pour filtrer les médias.
Paramètre
In
Type
Obligatoire
Description
tag
query
string
Obligatoire
Nom d'étiquette requis pour filtrer les médias.
200—Returns filtered media list400—Tag parameter required500—Server error during retrieval
Créer un spectacle à partir d'un média
POST/api/v2/shows
Crée une nouvelle émission sur une chaîne à partir d'un élément multimédia spécifié à une heure de début donnée.
channelIdbodyintegerFacultatif
L'identifiant de la chaîne sur laquelle l'émission doit être programmée.
startTimebodystringFacultatif
Heure de début prévue pour le spectacle.
mediaIdbodyintegerFacultatif
L'identifiant de l'élément multimédia à programmer.
Paramètre
In
Type
Obligatoire
Description
channelId
body
integer
Facultatif
L'identifiant de la chaîne sur laquelle l'émission doit être programmée.
startTime
body
string
Facultatif
Heure de début prévue pour le spectacle.
mediaId
body
integer
Facultatif
L'identifiant de l'élément multimédia à programmer.
200—Show created
Obtenir un spectacle par ID
GET/api/v2/shows/{id}
Récupère les détails d'une émission programmée spécifique en fonction de son identifiant.
idpathstringObligatoire
Le GUID du spectacle à récupérer.
Paramètre
In
Type
Obligatoire
Description
id
path
string
Obligatoire
Le GUID du spectacle à récupérer.
200—Returns show details
3. Médiathèque
Recherchez, récupérez et gérez les éléments multimédias de votre bibliothèque de locataires.
Les points de terminaison de la médiathèque permettent d'accéder aux ressources multimédias de votre locataire. Ils permettent de rechercher et de paginer dans le catalogue des médias, de récupérer les détails complets des éléments, de rechercher des médias par identifiant personnalisé, de vérifier la disponibilité des identifiants et d'obtenir des URL de prévisualisation et de téléchargement prédéfinies. Tous les points d'accès nécessitent une authentification.
Obtenir la liste des médias
Catalogue de médias paginé et filtrable
GET/api/UserMedia/GetMediaList
Récupère une liste paginée et filtrée d'éléments multimédias pour le locataire actuel. Prise en charge de la recherche par texte d'interrogation, plage de dates, dates de licence, balises, types d'actifs, pays et langues. Les résultats sont mis en cache pour améliorer les performances lors de requêtes répétées.
SearchQueryquerystringFacultatif
Requête de recherche en texte libre.
OrderByqueryOrderByFacultatif
Sens du tri (croissant/décroissant).
SortByqueryMediaSortByFacultatif
Champ à trier.
StatusqueryMediaStatusFilterFacultatif
Filtrer par l'état des supports.
DateFromquerystringFacultatif
Filtrer par date de création à partir de (ISO 8601).
DateToquerystringFacultatif
Filtrer par date de création à (ISO 8601).
LicenseFromquerystringFacultatif
Filtrer par date de début de licence.
LicenseToquerystringFacultatif
Filtrer par date de fin de licence.
Tagsqueryinteger[]Facultatif
Tableau d'identifiants d'étiquettes à filtrer.
Types d'actifsqueryinteger[]Facultatif
Tableau d'identifiants de types d'actifs à filtrer.
Languesquerystring[]Facultatif
Tableau de codes de langue à filtrer.
Countriesqueryinteger[]Facultatif
Tableau d'identifiants de pays à filtrer.
LimitqueryintegerFacultatif
Nombre maximum de résultats à renvoyer.
OffsetqueryintegerFacultatif
Nombre de résultats à sauter (pour la pagination).
Paramètre
In
Type
Obligatoire
Description
SearchQuery
query
string
Facultatif
Requête de recherche en texte libre.
OrderBy
query
OrderBy
Facultatif
Sens du tri (croissant/décroissant).
SortBy
query
MediaSortBy
Facultatif
Champ à trier.
Status
query
MediaStatusFilter
Facultatif
Filtrer par l'état des supports.
DateFrom
query
string
Facultatif
Filtrer par date de création à partir de (ISO 8601).
DateTo
query
string
Facultatif
Filtrer par date de création à (ISO 8601).
LicenseFrom
query
string
Facultatif
Filtrer par date de début de licence.
LicenseTo
query
string
Facultatif
Filtrer par date de fin de licence.
Tags
query
integer[]
Facultatif
Tableau d'identifiants d'étiquettes à filtrer.
Types d'actifs
query
integer[]
Facultatif
Tableau d'identifiants de types d'actifs à filtrer.
Langues
query
string[]
Facultatif
Tableau de codes de langue à filtrer.
Countries
query
integer[]
Facultatif
Tableau d'identifiants de pays à filtrer.
Limit
query
integer
Facultatif
Nombre maximum de résultats à renvoyer.
Offset
query
integer
Facultatif
Nombre de résultats à sauter (pour la pagination).
200—Returns filtered media list500—Server error during media retrieval
Obtenir un élément de média par ID
GET/api/UserMedia/{id}
Permet d'obtenir des informations détaillées sur un élément multimédia spécifique. Renvoie les données complètes du média, y compris les sous-titres avec les vitesses de lecture, les segments, les métadonnées, les objectifs du flux de travail de contrôle qualité, la position flottante du média et les URL transcodées alternatives. Valide la propriété du locataire.
idpathintegerObligatoire
L'identifiant de l'élément multimédia à récupérer.
Paramètre
In
Type
Obligatoire
Description
id
path
integer
Obligatoire
L'identifiant de l'élément multimédia à récupérer.
200—Returns complete media item details400—Media does not belong to current tenant404—Media does not exist500—Server error during media retrieval
Obtenir l'identifiant interne du média par l'identifiant personnalisé
GET/api/UserMedia/getId
Récupère l'identifiant interne du média par l'identifiant personnalisé/unique du locataire. Utilisé lors de l'intégration avec des systèmes externes qui référencent les médias par des ID personnalisés.
customIdquerystringObligatoire
L'ID personnalisé spécifique au locataire (ID vidéo) à rechercher.
Paramètre
In
Type
Obligatoire
Description
customId
query
string
Obligatoire
L'ID personnalisé spécifique au locataire (ID vidéo) à rechercher.
200—Returns internal media ID404—No media with specified custom ID500—Server error during lookup
Vérifier la disponibilité des identifiants personnalisés
GET/api/UserMedia/CheckUniqueId
Vérifie si un identifiant personnalisé/unique est disponible pour un élément de média. Retourne 1 if available, 0 if available for contract fulfillment, or -1 s'il est déjà utilisé.
idquerystringObligatoire
L'identifiant personnalisé pour lequel la disponibilité doit être vérifiée.
mediaIdqueryintegerFacultatif
L'identifiant du média qui utilisera cet identifiant personnalisé.
Paramètre
In
Type
Obligatoire
Description
id
query
string
Obligatoire
L'identifiant personnalisé pour lequel la disponibilité doit être vérifiée.
mediaId
query
integer
Facultatif
L'identifiant du média qui utilisera cet identifiant personnalisé.
200—Returns ID availability status (1 = available, 0 = contract, -1 = in use)500—Server error during check
Obtenir l'URL de prévisualisation des médias
GET/api/UserMedia/{mediaId}/AperçuUrl
Récupère une URL présignée pour la version de prévisualisation d'un élément multimédia. Gère différents fournisseurs de stockage et sources d'enregistrement. Crée une URL d'accès limitée dans le temps. Renvoie à l'URL du contenu original si l'URL de prévisualisation n'est pas disponible.
mediaIdpathintegerObligatoire
L'ID du média pour lequel l'URL de prévisualisation doit être obtenue.
Paramètre
In
Type
Obligatoire
Description
mediaId
path
integer
Obligatoire
L'ID du média pour lequel l'URL de prévisualisation doit être obtenue.
200—Returns presigned preview URL404—Media does not exist or wrong tenant500—Server error during URL generation
Obtenir le fichier original Télécharger l'URL
GET/api/UserMedia/{mediaId}/OriginalFile
Génère une URL de téléchargement présignée pour le fichier multimédia original (source). Nécessite l'utilisation de l'option DownloadMedia rôle. Gère plusieurs fournisseurs de stockage (S3, OVH, Oracle Cloud) et la restauration de fichiers archivés.
mediaIdpathintegerObligatoire
L'ID du média pour lequel le fichier original doit être téléchargé.
Paramètre
In
Type
Obligatoire
Description
mediaId
path
integer
Obligatoire
L'ID du média pour lequel le fichier original doit être téléchargé.
200—Returns presigned download URL for original file400—File does not exist or is being restored from archive404—Media does not exist500—Server error during URL generation
Obtenir l'URL de téléchargement du fichier transcodé
GET/api/UserMedia/{mediaId}/TranscodedFile
Génère une URL de téléchargement présignée pour le fichier multimédia transcodé. Nécessite l'utilisation de l'option DownloadMedia rôle. Renvoie l'URL de la version traitée/transcodée utilisée dans la diffusion.
mediaIdpathintegerObligatoire
L'ID du média pour lequel le fichier transcodé doit être téléchargé.
Paramètre
In
Type
Obligatoire
Description
mediaId
path
integer
Obligatoire
L'ID du média pour lequel le fichier transcodé doit être téléchargé.
200—Returns presigned download URL for transcoded file404—Media does not exist500—Server error during URL generation
Obtenir l'URL du fichier de prévisualisation
GET/api/UserMedia/{mediaId}/AperçuFile
Génère une URL présignée pour la version de prévisualisation/proxy du média. Les fichiers de prévisualisation sont des versions de moindre qualité utilisées pour la lecture sur le web pendant l'édition.
mediaIdpathintegerObligatoire
L'ID du média pour lequel l'URL du fichier de prévisualisation doit être obtenue.
Paramètre
In
Type
Obligatoire
Description
mediaId
path
integer
Obligatoire
L'ID du média pour lequel l'URL du fichier de prévisualisation doit être obtenue.
200—Returns presigned preview URL500—Server error during URL generation
4. Programmation
Retrieve and manage channel schedules, create shows, and export EPG/as-run data
L'API Planificateur offre un accès complet à la gestion de la programmation des chaînes. Elle permet d'interroger la programmation pour une plage de dates, de créer des médias et des émissions en direct, de renommer ou de remplacer des contenus programmés et d'exporter des journaux EPG ou des journaux d'exécution. Toutes les opérations d'écriture nécessitent l'utilisation de l'option Modifier le calendrier permission.
Obtenir le calendrier
Récupérer les émissions compilées pour une chaîne dans une période donnée
GET/api/Planificateur
Récupère et compile toutes les émissions d'une chaîne dans une plage de dates spécifiée. Renvoie les horaires des émissions, les détails des médias, les événements secondaires, les sous-titres, les pistes audio et les temps de latence du flux en direct. Valide les autorisations d'accès à la chaîne.
ChannelIdqueryintegerObligatoire
L'identifiant de la chaîne pour laquelle la programmation doit être récupérée.
StartDatequerystringObligatoire
Start date in YYYY-MM-DD format. To retrieve shows for a single day (e.g. 2026-06-04), set StartDate=2026-06-04 and EndDate=2026-06-05. Setting StartDate == EndDate always returns zero results.
EndDatequerystringObligatoire
End date in YYYY-MM-DD format. Exclusive upper bound — the end date itself is not included in results.
DevraitInclureSecÉvénementsquerybooleanFacultatif
Inclure des événements secondaires (graphiques, signaux SCTE) dans la réponse.
Inclure les latences de DirectFeedquerybooleanFacultatif
Inclure les données de latence du flux en direct.
Paramètre
In
Type
Obligatoire
Description
ChannelId
query
integer
Obligatoire
L'identifiant de la chaîne pour laquelle la programmation doit être récupérée.
StartDate
query
string
Obligatoire
Start date in YYYY-MM-DD format. To retrieve shows for a single day (e.g. 2026-06-04), set StartDate=2026-06-04 and EndDate=2026-06-05. Setting StartDate == EndDate always returns zero results.
EndDate
query
string
Obligatoire
End date in YYYY-MM-DD format. Exclusive upper bound — the end date itself is not included in results.
DevraitInclureSecÉvénements
query
boolean
Facultatif
Inclure des événements secondaires (graphiques, signaux SCTE) dans la réponse.
Inclure les latences de DirectFeed
query
boolean
Facultatif
Inclure les données de latence du flux en direct.
shell
GET /api/Planificateur?ChannelId=1000001725&StartDate=2026-06-04&EndDate=2026-06-05 HTTP/1.1
Host: <your-tenant-host>
Authorization: Bearer <your_token>
The response envelope wraps the schedule array under a message key:
ShowId is a GUID string that uniquely identifies a scheduled show instance. It is required for show-level mutation operations such as RemplacerShow and RenameShow. It is distinct from MediaId (an integer referencing the media asset) and from the internal row id.
Récupère la prochaine émission programmée pour une chaîne à partir d'une date/heure spécifique. La recherche s'effectue jusqu'au nombre de jours configuré et renvoie les détails de l'émission compilés.
ChannelIdqueryintegerFacultatif
L'ID du canal à rechercher.
StartDatequerystringFacultatif
Date de début de la recherche (ISO 8601).
StartTimequerystringFacultatif
Heure de début de la recherche.
Paramètre
In
Type
Obligatoire
Description
ChannelId
query
integer
Facultatif
L'ID du canal à rechercher.
StartDate
query
string
Facultatif
Date de début de la recherche (ISO 8601).
StartTime
query
string
Facultatif
Heure de début de la recherche.
200—Returns next show details400—User lacks channel view permission401—Channel belongs to different tenant404—No next item in search range or channel not found500—Server error during retrieval
Créer un spectacle médiatique
POST/api/Planificateur/CreateMediaShow
Crée une nouvelle émission multimédia dans le programme de la chaîne à la date et à l'heure spécifiées. Valide les restrictions de licence des médias, vérifie les conflits de programmation et met à jour la liste de lecture de la chaîne. Nécessite Modifier le calendrier permission.
channelIdbodyintegerFacultatif
L'identifiant de la chaîne sur laquelle l'émission doit être programmée.
mediaIdbodyintegerFacultatif
L'identifiant de l'élément multimédia à programmer.
datebodystringFacultatif
Date prévue (ISO 8601).
timebodystringFacultatif
Heure de début prévue.
somMsbodyintegerFacultatif
Décalage du début du message en millisecondes.
duréeMsbodyintegerFacultatif
Afficher la durée en millisecondes.
isAnchorbodybooleanFacultatif
Ancrage ou non de l'émission (maintien de l'heure de début pendant la fermeture de l'intervalle).
overrideShowNamebodystringFacultatif
Nom d'affichage personnalisé facultatif pour le spectacle.
Paramètre
In
Type
Obligatoire
Description
channelId
body
integer
Facultatif
L'identifiant de la chaîne sur laquelle l'émission doit être programmée.
mediaId
body
integer
Facultatif
L'identifiant de l'élément multimédia à programmer.
date
body
string
Facultatif
Date prévue (ISO 8601).
time
body
string
Facultatif
Heure de début prévue.
somMs
body
integer
Facultatif
Décalage du début du message en millisecondes.
duréeMs
body
integer
Facultatif
Afficher la durée en millisecondes.
isAnchor
body
boolean
Facultatif
Ancrage ou non de l'émission (maintien de l'heure de début pendant la fermeture de l'intervalle).
overrideShowName
body
string
Facultatif
Nom d'affichage personnalisé facultatif pour le spectacle.
200—Show created
Créer un spectacle en direct
POST/api/Planificateur/CreateDirectShow
Programme une nouvelle émission en direct sur une chaîne à la date et à l'heure spécifiées et pour une durée donnée. Crée une émission à partir d'une source de flux en direct (RTMP, SRT, ZIXI, etc.). Nécessite Modifier le calendrier permission.
channelIdbodyintegerFacultatif
L'identifiant de la chaîne sur laquelle l'émission doit être programmée.
feedIdbodystringFacultatif
Le GUID du flux en direct.
datebodystringFacultatif
Date prévue (ISO 8601).
timebodystringFacultatif
Heure de début prévue.
duréeMsbodyintegerFacultatif
Afficher la durée en millisecondes.
Paramètre
In
Type
Obligatoire
Description
channelId
body
integer
Facultatif
L'identifiant de la chaîne sur laquelle l'émission doit être programmée.
feedId
body
string
Facultatif
Le GUID du flux en direct.
date
body
string
Facultatif
Date prévue (ISO 8601).
time
body
string
Facultatif
Heure de début prévue.
duréeMs
body
integer
Facultatif
Afficher la durée en millisecondes.
200—Returns new show ID400—Channel or feed belongs to different tenant401—User lacks edit schedule permission404—Channel or live feed not found500—Server error during show creation
Renommer le spectacle
POST/api/Planificateur/RenameShow
Renomme une émission programmée avec un nouveau nom d'affichage. Le nom ne doit pas être vide. Lève éventuellement un Mise à jour du conducteur de la chaîne Événement de mise à jour de la diffusion
showIdbodystringFacultatif
Le GUID du spectacle à renommer.
namebodystringFacultatif
Nouveau nom d'affichage (ne doit pas être vide).
raiseMise à jour du conducteur de la chaîneEvent (événement de mise à jour de l'horaire du canal) (événement de mise à jour de l'horaire du canal)bodybooleanFacultatif
Indique si la modification doit être immédiatement prise en compte dans la diffusion.
Paramètre
In
Type
Obligatoire
Description
showId
body
string
Facultatif
Le GUID du spectacle à renommer.
name
body
string
Facultatif
Nouveau nom d'affichage (ne doit pas être vide).
raiseMise à jour du conducteur de la chaîneEvent (événement de mise à jour de l'horaire du canal) (événement de mise à jour de l'horaire du canal)
body
boolean
Facultatif
Indique si la modification doit être immédiatement prise en compte dans la diffusion.
200—Show renamed400—Empty name or channel belongs to different tenant401—User lacks edit schedule permission404—Show does not exist500—Server error during rename
Remplacer le spectacle
POST/api/Planificateur/RemplacerShow
Remplacers a scheduled show's media content. Use the ShowId GUID from the Obtenir le calendrier response. All body keys must be PascalCase — camelCase keys are silently ignored and will cause 404 or 500 errors.
ShowIdbodystring (GUID)Obligatoire
The show GUID from the schedule response (not an integer). Only future/upcoming shows can be replaced.
CustomMediaIdbodystringObligatoire
The string CustomId of the replacement media (e.g. PYR_1667698). Do not use the numeric internal MediaId — numeric IDs return 404.
200—Show(s) replaced401—User lacks edit schedule permission404—Show already aired, ShowId not found, or CustomMediaId does not exist in media library500—CustomMediaId is same as show's own media, or RemplacerStrategy 0 on anchored/full schedule — try RemplacerStrategy 1
Create Layout Show
Schedule a live layout show on a channel
POST/api/Planificateur/CreateLayoutShow
Creates a new live layout show on a channel schedule with a specified duration. Use GET /api/Layout to list available layout UIDs.
ChannelIdbodyintegerObligatoire
L'identifiant de la chaîne sur laquelle l'émission doit être programmée.
LayoutIdbodystring (GUID)Obligatoire
The layout UID from GET /api/Layout.
StartTimebodystringObligatoire
Scheduled start time (ISO 8601).
DurationSecondsbodyintegerObligatoire
Show duration in seconds.
TitlebodystringFacultatif
Facultatif display name for the show.
Paramètre
In
Type
Obligatoire
Description
ChannelId
body
integer
Obligatoire
L'identifiant de la chaîne sur laquelle l'émission doit être programmée.
LayoutId
body
string (GUID)
Obligatoire
The layout UID from GET /api/Layout.
StartTime
body
string
Obligatoire
Scheduled start time (ISO 8601).
DurationSeconds
body
integer
Obligatoire
Show duration in seconds.
Title
body
string
Facultatif
Facultatif display name for the show.
200—{ "id": <new show id> }401—User lacks edit schedule permission404—Channel or layout not found500—Server error during show creation
Create Broadcast Preset Show
Schedule a live production (broadcast preset) show on a channel
POST/api/Planificateur/CreateBroadcastPresetShow
Creates a new broadcast preset (live production) show on a channel schedule. Use GET /api/BroadcastPreset to list available preset UIDs.
ChannelIdbodyintegerObligatoire
L'identifiant de la chaîne sur laquelle l'émission doit être programmée.
PresetIdbodystring (GUID)Obligatoire
The broadcast preset UID from GET /api/BroadcastPreset.
StartTimebodystringObligatoire
Scheduled start time (ISO 8601).
DurationSecondsbodyintegerObligatoire
Show duration in seconds.
TitlebodystringFacultatif
Facultatif display name for the show.
Paramètre
In
Type
Obligatoire
Description
ChannelId
body
integer
Obligatoire
L'identifiant de la chaîne sur laquelle l'émission doit être programmée.
PresetId
body
string (GUID)
Obligatoire
The broadcast preset UID from GET /api/BroadcastPreset.
StartTime
body
string
Obligatoire
Scheduled start time (ISO 8601).
DurationSeconds
body
integer
Obligatoire
Show duration in seconds.
Title
body
string
Facultatif
Facultatif display name for the show.
200—{ "id": <new show id> }401—User lacks edit schedule permission404—Channel or preset not found500—Server error during show creation
Mise à jour Afficher le commentaire
POST/api/Planificateur/UpdateShowComment
Met à jour le champ commentaire/notes d'un spectacle programmé. Les commentaires sont utilisés pour les notes internes et les métadonnées de programmation.
showIdbodystringFacultatif
Le GUID du spectacle à mettre à jour.
commentbodystringFacultatif
Le nouveau texte du commentaire.
Paramètre
In
Type
Obligatoire
Description
showId
body
string
Facultatif
Le GUID du spectacle à mettre à jour.
comment
body
string
Facultatif
Le nouveau texte du commentaire.
200—Comment updated400—Channel belongs to different tenant401—User lacks edit schedule permission404—Show or channel does not exist500—Server error during update
Export EPG
Electronic Program Guide export in CSV or XML
GET/api/Planificateur/ExportEpg
Exporte les données du guide électronique des programmes (EPG) pour une chaîne dans une plage de dates. Génère un fichier téléchargeable dans le format spécifié (CSV ou XML) avec un filtrage optionnel de la durée minimale. Un modèle de configuration d'exportation peut être appliqué s'il est spécifié.
ChannelIdqueryintegerFacultatif
L'identifiant de la chaîne pour laquelle l'EPG doit être exporté.
StartDatequerystringFacultatif
Date de début de l'exportation (ISO 8601).
EndDatequerystringFacultatif
Date de fin d'exportation (ISO 8601).
FormatquerystringFacultatif
Format de sortie : "CSV" or "XML".
Durée minimalequeryintegerFacultatif
Durée minimale de l'émission en secondes à inclure.
ExportConfigIdqueryintegerFacultatif
ID du modèle de configuration d'exportation.
Paramètre
In
Type
Obligatoire
Description
ChannelId
query
integer
Facultatif
L'identifiant de la chaîne pour laquelle l'EPG doit être exporté.
StartDate
query
string
Facultatif
Date de début de l'exportation (ISO 8601).
EndDate
query
string
Facultatif
Date de fin d'exportation (ISO 8601).
Format
query
string
Facultatif
Format de sortie : "CSV" or "XML".
Durée minimale
query
integer
Facultatif
Durée minimale de l'émission en secondes à inclure.
ExportConfigId
query
integer
Facultatif
ID du modèle de configuration d'exportation.
200—Returns EPG file download400—Channel belongs to different tenant404—Channel or export configuration not found500—Server error during export
Export As-Run Log
Exportation du journal de diffusion en cours de lecture
GET/api/Planificateur/ExportAsRunLog
Exporte le journal As-Run/As-Played pour une chaîne dans une plage de dates, en indiquant les heures de diffusion réelles. Prend en charge le format texte standard avec la configuration d'exportation ou le format XML KLH. Conversion des heures dans le fuseau horaire de la chaîne.
ChannelIdqueryintegerFacultatif
L'identifiant du canal pour lequel le journal d'exécution doit être exporté.
StartDatequerystringFacultatif
Date de début de l'exportation (ISO 8601).
EndDatequerystringFacultatif
Date de fin d'exportation (ISO 8601).
ExportConfigIdqueryintegerFacultatif
ID du modèle de configuration d'exportation.
IsKLHXmlFormatquerybooleanFacultatif
Utiliser le format KLH XML au lieu du texte standard.
Paramètre
In
Type
Obligatoire
Description
ChannelId
query
integer
Facultatif
L'identifiant du canal pour lequel le journal d'exécution doit être exporté.
StartDate
query
string
Facultatif
Date de début de l'exportation (ISO 8601).
EndDate
query
string
Facultatif
Date de fin d'exportation (ISO 8601).
ExportConfigId
query
integer
Facultatif
ID du modèle de configuration d'exportation.
IsKLHXmlFormat
query
boolean
Facultatif
Utiliser le format KLH XML au lieu du texte standard.
200—Returns as-run log file download400—Channel or config belongs to different tenant404—Channel or export configuration not found500—Server error during export
Get Export Configurations
GET/api/Planificateur/GetExportConfigurations
Récupère toutes les configurations d'exportation de journaux EPG/as-run pour le locataire actuel. Renvoie l'ID de configuration, le nom et les correspondances d'en-tête pour chaque modèle d'exportation.
200—Returns export configurations500—Server error during retrieval
5. Rapports
Programmer des alertes sur la qualité, l'utilisation des médias et des rapports complets sur l'inventaire des médias
L'API Rapports permet d'accéder aux alertes sur la qualité de la programmation et aux rapports sur les médias. Elle permet d'identifier les lacunes dans la programmation, les sous-titres ou pistes audio manquants, les contrats vides, et de générer des rapports complets sur l'inventaire et l'utilisation des médias. Tous les points d'accès nécessitent une authentification.
Obtenir le rapport sur les lacunes
GET/api/Reports/GetGapsReport
Récupère le rapport sur les écarts pour une chaîne, montrant les écarts de programmation et les périodes vides. Renvoie des données de rapport mises en cache indiquant les périodes où aucun contenu n'est programmé. Les alertes du rapport sur les écarts doivent être activées pour la chaîne.
ChannelIdqueryintegerFacultatif
L'identifiant du canal pour lequel le rapport d'écart doit être récupéré.
Paramètre
In
Type
Obligatoire
Description
ChannelId
query
integer
Facultatif
L'identifiant du canal pour lequel le rapport d'écart doit être récupéré.
200—Returns gap report, or error message if channel not found, tenant mismatch, or gaps alerts disabled401—Unauthorized500—Server error
Obtenir le rapport sur les sous-titres manquants
GET/api/Reports/GetMissingSous-titresReport
Récupère le rapport sur les sous-titres manquants pour une chaîne, identifiant les émissions programmées pour lesquelles les langues de sous-titres requises ne sont pas disponibles.
ChannelIdqueryintegerFacultatif
L'identifiant du canal pour lequel le rapport doit être récupéré.
Paramètre
In
Type
Obligatoire
Description
ChannelId
query
integer
Facultatif
L'identifiant du canal pour lequel le rapport doit être récupéré.
200—Returns report or error message if alerts disabled401—Unauthorized500—Server error
Obtenir le rapport sur les audios manquants
GET/api/Reports/GetMissingAudiosReport
Récupère le rapport sur les audios manquants pour une chaîne, identifiant les émissions programmées qui n'ont pas les pistes audio ou les langues requises.
ChannelIdqueryintegerFacultatif
L'identifiant du canal pour lequel le rapport doit être récupéré.
Paramètre
In
Type
Obligatoire
Description
ChannelId
query
integer
Facultatif
L'identifiant du canal pour lequel le rapport doit être récupéré.
200—Returns report or error message if alerts disabled401—Unauthorized500—Server error
Obtenir le rapport sur les contrats vides
GET/api/Reports/GetEmptyContractsReport
Récupère le rapport sur les contrats vides pour une chaîne, identifiant les émissions programmées sans les métadonnées de licence appropriées.
ChannelIdqueryintegerFacultatif
L'identifiant du canal pour lequel le rapport doit être récupéré.
Paramètre
In
Type
Obligatoire
Description
ChannelId
query
integer
Facultatif
L'identifiant du canal pour lequel le rapport doit être récupéré.
200—Returns report or error message if alerts disabled401—Unauthorized500—Server error
Obtenir le rapport sur l'utilisation des médias (CSV)
GET/api/Reports/GetMediaUsageReport
Génère un rapport d'utilisation des médias au format CSV indiquant où et quand un média spécifique est programmé sur tous les canaux. Valide la propriété du locataire avant de générer le rapport.
mediaIdqueryintegerObligatoire
L'ID du média pour lequel le rapport d'utilisation doit être généré.
Paramètre
In
Type
Obligatoire
Description
mediaId
query
integer
Obligatoire
L'ID du média pour lequel le rapport d'utilisation doit être généré.
200—Returns CSV file download401—Unauthorized403—User's tenant does not own this media404—Media not found or no usage data available500—Server error
Obtenir un rapport sur l'utilisation des médias (JSON)
GET/api/Reports/GetMediaUsageReportAsJSON
Récupère le rapport d'utilisation des médias sous forme de JSON, montrant toutes les occurrences programmées d'un élément média spécifique sur tous les canaux. Il est possible d'inclure des détails sur l'utilisation au niveau du segment.
mediaIdqueryintegerObligatoire
L'ID du média pour lequel le rapport d'utilisation doit être généré.
includeSegmentsquerybooleanFacultatif
Inclure des détails sur l'utilisation au niveau du segment.
includeArchivequerybooleanFacultatif
La recherche de l'utilisation des médias dans le tableau des archives montre.
Paramètre
In
Type
Obligatoire
Description
mediaId
query
integer
Obligatoire
L'ID du média pour lequel le rapport d'utilisation doit être généré.
includeSegments
query
boolean
Facultatif
Inclure des détails sur l'utilisation au niveau du segment.
includeArchive
query
boolean
Facultatif
La recherche de l'utilisation des médias dans le tableau des archives montre.
200—Returns usage report as JSON401—Unauthorized403—User's tenant does not own this media404—Media not found500—Server error
Obtenir le rapport complet sur les segments (JSON)
GET/api/Reports/GetFullSegmentsReportAsJSON
Récupère le rapport complet des segments sous forme de JSON pour le locataire actuel, montrant tous les segments/clips médias avec les timecodes, les métadonnées et l'utilisation.
type de code temporelqueryintegerObligatoire
Format du code temporel (0 = trames, 1 = SMPTE, etc.).
Paramètre
In
Type
Obligatoire
Description
type de code temporel
query
integer
Obligatoire
Format du code temporel (0 = trames, 1 = SMPTE, etc.).
200—Returns segments report as JSON400—Tenant not found401—Unauthorized500—Server error
Obtenir le rapport complet sur les médias (CSV)
GET/api/Reports/GetFullMediaReport
Génère un fichier CSV de rapport complet sur les médias pour le locataire actuel, montrant tous les éléments médiatiques avec un inventaire complet, y compris les métadonnées, les spécifications techniques et l'état.
200—Returns CSV file download400—Tenant not found401—Unauthorized404—No report data available500—Server error
Obtenir le rapport complet sur les médias (JSON)
GET/api/Reports/GetFullMediaReportAsJSON
Récupère le rapport complet des médias sous forme de JSON pour le locataire actuel, montrant tous les médias avec un inventaire complet, y compris les métadonnées, les spécifications techniques et l'état.
200—Returns media report as JSON400—Tenant not found401—Unauthorized500—Server error
Obtenir un rapport sur les métadonnées des médias (CSV)
GET/api/Reports/GetMediaMetadataReport
Génère un fichier CSV de rapport sur les métadonnées des médias pour le locataire actuel, montrant tous les éléments des médias et les valeurs de leurs champs de métadonnées personnalisés. Utile pour l'audit des métadonnées et l'analyse des métadonnées en masse.
200—Returns CSV file download400—Tenant not found401—Unauthorized404—No report data available500—Server error
EPG Export (Public)
Unauthenticated EPG export for CDN integration
GET/api/Reports/epg
Génère un export EPG pour une chaîne dans différents formats. Ce point d'accès n'est pas authentifié mais nécessite un en-tête vert CDN pour la sécurité. Les résultats sont mis en cache pour des raisons de performance. Prend en charge les formats XML TV, JSON et CSV avec un filtrage et un regroupement configurables.
channelUidquerystringObligatoire
GUID de la chaîne pour laquelle l'EPG doit être généré.
duréeHeuresqueryintegerFacultatif
Nombre d'heures de la programmation à exporter à partir de l'heure de début.
outputTypequerystringFacultatif
Format de sortie : "xmlTv", "xmlTv2", "xml", "json", "xmlTvjson", or "csv". Default: "xmlTv".
startTimeUtcquerystringFacultatif
Heure de début UTC facultative (ISO 8601). L'heure actuelle est utilisée par défaut.
minDurationSecsqueryintegerFacultatif
Durée minimale de l'émission en secondes à inclure.
groupSameIdSequencequerybooleanFacultatif
Regrouper des spectacles consécutifs avec le même identifiant en une seule entrée.
excludeTagsPipeSeparatedquerystringFacultatif
Liste de balises séparées par un tube pour exclure les spectacles.
Paramètre
In
Type
Obligatoire
Description
channelUid
query
string
Obligatoire
GUID de la chaîne pour laquelle l'EPG doit être généré.
duréeHeures
query
integer
Facultatif
Nombre d'heures de la programmation à exporter à partir de l'heure de début.
outputType
query
string
Facultatif
Format de sortie : "xmlTv", "xmlTv2", "xml", "json", "xmlTvjson", or "csv". Default: "xmlTv".
startTimeUtc
query
string
Facultatif
Heure de début UTC facultative (ISO 8601). L'heure actuelle est utilisée par défaut.
minDurationSecs
query
integer
Facultatif
Durée minimale de l'émission en secondes à inclure.
groupSameIdSequence
query
boolean
Facultatif
Regrouper des spectacles consécutifs avec le même identifiant en une seule entrée.
excludeTagsPipeSeparated
query
string
Facultatif
Liste de balises séparées par un tube pour exclure les spectacles.
200—Returns EPG export file400—Missing required CDN green header404—Channel not found500—Server error
6. Avant-première
Récupérer les informations sur les chaînes et les URL de diffusion en continu via le code de prévisualisation
Les points de terminaison Aperçu permettent un accès non authentifié aux informations de base sur les chaînes et aux URL de diffusion en continu à l'aide d'un code de prévisualisation limité dans le temps (GUID). Ils sont conçus pour intégrer des aperçus de chaînes dans des portails externes ou des intégrations de lecteurs sans nécessiter l'authentification de l'utilisateur final.
Obtenir des informations sur les chaînes par code de prévisualisation
GET/api/Aperçu/{code chaîne}/GetChannelInfo
Récupère les informations sur les chaînes à l'aide d'un code de prévisualisation. Valide que le code de prévisualisation existe et n'a pas expiré. Renvoie les métadonnées de base du canal, y compris l'UID, le nom et la description, pour un accès public en avant-première. Ce point d'accès n'est pas authentifié.
code chaînepathstringObligatoire
Le code de prévisualisation du canal (format GUID) de la route URL.
Paramètre
In
Type
Obligatoire
Description
code chaîne
path
string
Obligatoire
Le code de prévisualisation du canal (format GUID) de la route URL.
200—Returns channel info, or false if invalid/expired code500—Server error
Obtenir l'URL du flux de la chaîne par code de prévisualisation
GET/api/Aperçu/{code chaîne}/StreamUrl
Récupère les URL de prévisualisation d'une chaîne par GUID de chaîne. Renvoie les URL de prévisualisation disponibles (HLS, DASH, etc.) pour le canal spécifié. Utilise les paramètres du locataire et la configuration du canal pour générer les URL de prévisualisation appropriées. Ce point d'accès n'est pas authentifié.
code chaînepathstringObligatoire
Le GUID du canal de la route URL.
Paramètre
In
Type
Obligatoire
Description
code chaîne
path
string
Obligatoire
Le GUID du canal de la route URL.
200—Returns stream URLs, or false if channel not found500—Server error
7. Flux en direct
Direct feeds, live layouts, and broadcast presets
The platform supports three distinct live source types, each with its own scheduling endpoint and return-to-schedule mechanism. This section covers all three: standard Flux en direct (RTMP, SRT, ZIXI, etc.), Direct Layouts, and Broadcast Presets (Production en directs).
7a. Flux en direct
Gérer live ingest sources (RTMP, SRT, ZIXI, HLS, DASH, RTSP)
Lister les flux en direct
GET/api/livefeeds
Récupère les flux en direct pour le locataire actuel avec un filtrage optionnel. Renvoie une liste de flux comprenant l'UID, le nom, l'ID unique du locataire et la vignette.
Uidsquerystring[]Facultatif
Filtrer par UID de flux spécifiques.
Filtre de nomquerystringFacultatif
Filtrer les flux par nom (correspondance partielle).
TagIdqueryintegerFacultatif
Filtrer les flux par ID d'étiquette.
IsDeletedquerybooleanFacultatif
Inclure les flux supprimés.
Paramètre
In
Type
Obligatoire
Description
Uids
query
string[]
Facultatif
Filtrer par UID de flux spécifiques.
Filtre de nom
query
string
Facultatif
Filtrer les flux par nom (correspondance partielle).
TagId
query
integer
Facultatif
Filtrer les flux par ID d'étiquette.
IsDeleted
query
boolean
Facultatif
Inclure les flux supprimés.
200—Returns list of live feeds401—Unauthorized500—Server error
Obtenir un flux en direct par UID
GET/api/livefeeds/{id}
Récupère la configuration détaillée d'un flux en direct spécifique par UID. Renvoie la configuration complète du flux, y compris les paramètres de diffusion en continu, le cryptage, la latence, les plateformes, les balises, les métadonnées et le format d'image. Valide la propriété du locataire.
idpathstringObligatoire
L'UID du flux en direct.
Paramètre
In
Type
Obligatoire
Description
id
path
string
Obligatoire
L'UID du flux en direct.
200—Returns complete live feed configuration400—User's tenant does not own this feed401—Unauthorized404—Feed does not exist500—Server error
Obtenir des plateformes de streaming
GET/api/livefeeds/platforms
Récupère toutes les plateformes de diffusion en continu disponibles pour les flux en direct. Renvoie une liste des plateformes de diffusion en continu prises en charge (ZIXI, RTMP, SRT, HLS, DASH, etc.).
200—Returns list of streaming platforms401—Unauthorized500—Server error
Vérifier la disponibilité de Stream ID
GET/api/livefeeds/isStreamIdAvailable/{streamId}
Vérifie si un identifiant de flux est disponible (s'il n'est pas déjà utilisé). Utilisé pour valider l'unicité de l'ID de flux avant de créer ou de mettre à jour des flux.
streamIdpathstringObligatoire
L'identifiant du flux à vérifier.
Paramètre
In
Type
Obligatoire
Description
streamId
path
string
Obligatoire
L'identifiant du flux à vérifier.
200—Returns true if stream ID is available, false if already in use401—Unauthorized500—Server error
Vérifier la disponibilité de Feed ID
GET/api/livefeeds/isFeedIdAvailable/{feedId}
Vérifie si un ID de flux (ID unique de locataire) est disponible dans le locataire actuel. Utilisé pour valider l'unicité de l'ID de flux avant de créer des flux.
feedIdpathstringObligatoire
L'ID du flux (ID unique du locataire) à vérifier.
Paramètre
In
Type
Obligatoire
Description
feedId
path
string
Obligatoire
L'ID du flux (ID unique du locataire) à vérifier.
200—Returns true if feed ID is available, false if already in use401—Unauthorized500—Server error
Créer un flux en direct
POST/api/livefeeds
Crée un nouveau flux en direct avec la configuration de diffusion spécifiée. Valide la propriété des balises, l'unicité de l'ID du flux et le format de la clé de cryptage. Configurer les paramètres de la source de diffusion en continu en fonction du type de source. Lance un DirectFeedChanged event on success.
namebodystringFacultatif
Nom d'affichage du flux en direct.
tenantUniqueIdbodystringFacultatif
Identifiant unique spécifique au locataire pour le flux.
type de sourcebodyETypeFacultatif
Type de source (ZIXI Push/Pull, RTMP Push/Pull, SRT Push/Pull, HLS Pull, DASH Pull, RTSP Pull).
streamingPlateformeIdsbodyinteger[]Facultatif
Tableau d'identifiants de plates-formes de diffusion en continu vers lesquelles publier.
tagIdsbodyinteger[]Facultatif
Tableau d'identifiants d'étiquettes à associer au flux.
frameFormatbodyintegerFacultatif
Identificateur de format de trame.
adresse à distancebodystringFacultatif
Adresse de la source distante (pour les sources tirées).
remotePortbodyintegerFacultatif
Port de la source distante (pour les sources d'extraction).
latence souhaitéebodyintegerFacultatif
Temps de latence souhaité en millisecondes.
Paramètre
In
Type
Obligatoire
Description
name
body
string
Facultatif
Nom d'affichage du flux en direct.
tenantUniqueId
body
string
Facultatif
Identifiant unique spécifique au locataire pour le flux.
type de source
body
EType
Facultatif
Type de source (ZIXI Push/Pull, RTMP Push/Pull, SRT Push/Pull, HLS Pull, DASH Pull, RTSP Pull).
streamingPlateformeIds
body
integer[]
Facultatif
Tableau d'identifiants de plates-formes de diffusion en continu vers lesquelles publier.
tagIds
body
integer[]
Facultatif
Tableau d'identifiants d'étiquettes à associer au flux.
frameFormat
body
integer
Facultatif
Identificateur de format de trame.
adresse à distance
body
string
Facultatif
Adresse de la source distante (pour les sources tirées).
remotePort
body
integer
Facultatif
Port de la source distante (pour les sources d'extraction).
latence souhaitée
body
integer
Facultatif
Temps de latence souhaité en millisecondes.
200—Returns new feed UID400—Invalid tags, feed ID not unique, or invalid encryption key401—Unauthorized500—Server error
7b. Direct Layouts
List available live layout definitions
GET/api/Layout
Retrieves all live layout definitions for the current tenant. Returns layout UID and name. Use the UID with CreateLayoutShow to schedule a layout show. To return the channel to schedule after a layout show, resubmit the last playlist via POST /api/DynamicScripts/PostFile.
200—Returns list of layout definitions (UID, name)401—Unauthorized500—Server error
7c. Broadcast Presets (Production en directs)
List available broadcast preset definitions
GET/api/BroadcastPreset
Retrieves all broadcast preset (live production) definitions for the current tenant. Returns preset UID and name. Use the UID with CreateBroadcastPresetShow to schedule a preset show.
200—Returns list of broadcast preset definitions (UID, name)401—Unauthorized500—Server error
Return Channel to Schedule (Broadcast Preset)
Clear active live broadcast UID to return channel to normal schedule
POST/api/Channel/UpdateDirectBroadcastShowUid
Clears the active live broadcast UID for a channel, returning it to its normal schedule. This is the required "Return to Schedule" operation after a Broadcast Preset (Production en direct) switch. The standard playlist resubmit method (POST /api/DynamicScripts/PostFile) does not work for this source type.
ChannelIdbodyintegerObligatoire
The channel ID to update.
ShowUidbodystring|nullObligatoire
Set to null to clear the live broadcast and return the channel to schedule.
Paramètre
In
Type
Obligatoire
Description
ChannelId
body
integer
Obligatoire
The channel ID to update.
ShowUid
body
string|null
Obligatoire
Set to null to clear the live broadcast and return the channel to schedule.
json
{
"ChannelId": 1000001725,
"ShowUid": null
}
200—{ "success": true } — channel returned to schedule401—Unauthorized404—Channel not found500—Server error
Mise à jour du flux en direct
PUT/api/livefeeds/{id}
Met à jour la configuration d'un flux en direct existant. Valide la propriété du locataire, la propriété de la balise et la validité de la demande. Met à jour les paramètres de diffusion en continu, notamment le type de source, le cryptage, la latence, les plates-formes, les balises, les métadonnées et le format d'image.
idpathstringObligatoire
L'UID du flux en direct à mettre à jour.
Paramètre
In
Type
Obligatoire
Description
id
path
string
Obligatoire
L'UID du flux en direct à mettre à jour.
200—Returns feed UID and updated platforms400—Invalid tags, invalid request, or user's tenant does not own this feed401—Unauthorized404—Feed does not exist500—Server error
9. Commutation en direct Flux de travail Guide
Étape-by-step sequences for switching to each live source type
Switching a channel to a live source is a multi-step sequence. The exact steps — and the return-to-schedule mechanism — differ depending on the live source type. Use the guide below for the correct sequence for each type.
Flux en direct
POST /api/Planificateur/CreateDirectShow — create a live show slot on the schedule using the feed UID
POST /api/Channel/SkipToShow — skip the channel to that show slot immediately
To return to schedule: resubmit the last playlist via POST /api/DynamicScripts/PostFile
Direct Layout
POST /api/Planificateur/CreateLayoutShow — create a layout show slot using the layout UID
POST /api/Channel/SkipToShow — skip the channel to that show slot
To return to schedule: resubmit the last playlist via POST /api/DynamicScripts/PostFile
Broadcast Preset (Production en direct)
POST /api/Planificateur/CreateBroadcastPresetShow — create a preset show slot using the preset UID
POST /api/Channel/SkipToShow — skip the channel to that show slot
To return to schedule:POST /api/Channel/UpdateDirectBroadcastShowUid with {"ChannelId": X, "ShowUid": null} — the playlist resubmit method does not work for this source type
10. Common Error Patterns
Known error causes and resolutions from real integration testing
The table below documents error patterns observed during integration testing. Use it to diagnose unexpected 404, 500, and 401 responses before raising a support request.
Status
Endpoint
Cause
Resolution
404
RemplacerShow
CustomMediaId does not exist in the media library
Verify the CustomId exists before calling
404
RemplacerShow
ShowId refers to a show that has already aired
Only future/upcoming shows can be replaced
500
RemplacerShow
CustomMediaId is the same as the show's own media (replacing with itself)
Use a different media ID as the replacement
500
RemplacerShow
RemplacerStrategy: 0 on an anchored or full schedule
Try RemplacerStrategy: 1 (Overlap)
404/500
Any POST/PUT
Body keys sent in camelCase instead of PascalCase
All request body keys must be PascalCase
401
Any endpoint
Token expired — tokens expire after 1 hour, not 24
Re-authenticate and refresh the token; recommend refreshing after ~50 minutes
8. Données de référence
Points de référence pour les catégories, les pays, les champs dynamiques, les fuseaux horaires, les langues et les taux de rafraîchissement.
Les points de terminaison des données de référence fournissent des valeurs de référence utilisées dans l'ensemble de la plateforme pour la classification, la configuration et la programmation du contenu. Il s'agit d'appels stables et peu fréquents qui sont généralement récupérés une fois au démarrage de l'application et mis en cache localement.
Obtenir des catégories
GET/api/Category
Récupère toutes les catégories de contenu disponibles. Renvoie une liste complète des définitions de catégories pour la classification du contenu.
200—Returns list of all categories401—Unauthorized500—Server error
Obtenir des pays
GET/api/Country
Récupère tous les pays disponibles. Renvoie une liste de définitions de pays à utiliser dans les formulaires d'enregistrement d'utilisateur, de création de locataire et de données client.
200—Returns list of countries401—Unauthorized500—Server error
Obtenir des champs dynamiques
GET/api/DynamicChamp
Récupère toutes les définitions de champs dynamiques disponibles. Renvoie une liste de types de champs dynamiques pouvant être utilisés dans les modèles de graphiques (par exemple, nom du spectacle, heure de début, description, champs personnalisés). Ces champs peuvent être remplis dynamiquement lors de la création d'instances graphiques.
200—Returns list of dynamic fields401—Unauthorized500—Server error
Obtenir les fuseaux horaires
GET/api/Init/Timezones
Récupère tous les fuseaux horaires disponibles. Renvoie une liste de définitions de fuseaux horaires à utiliser pour la configuration des canaux et la programmation.
200—Returns list of timezones401—Unauthorized500—Server error
Obtenir des langues
GET/api/Init/Langues
Récupère toutes les langues disponibles. Renvoie une liste de définitions de langues à utiliser dans la configuration des médias, des sous-titres et des pistes audio.
200—Returns list of languages401—Unauthorized500—Server error
Obtenir des taux de rafraîchissement
GET/api/Init/Framerates
Récupère toutes les fréquences d'images disponibles. Renvoie une liste des options de fréquence d'images vidéo prises en charge pour la configuration des canaux et des médias.
200—Returns list of framerates401—Unauthorized500—Server error
Besoin d'aide pour l'intégration ?
Notre équipe d'ingénieurs est disponible pour vous aider à construire votre intégration. Vous pouvez nous contacter via la page de contact ou vous adresser à votre Client Success Gérerr.