Aller au contenu
twitch.apiv2.0

Référence / Groupes de l'API

twitch.schedule

Planning de diffusion : créneaux, vacances et flux iCalendar.

Toutes les méthodes de twitch.schedule, avec leurs paramètres, ce qu’elles renvoient et le jeton nécessaire.

twitch.schedule.get(params, options?): Paginator<ScheduleSegment, ScheduleResponse>

Liste les diffusions prévues d’une chaîne. Les champs du diffuseur et des vacances accompagnent chaque page, sous page.raw.data. Échoue avec un 404 quand la chaîne n’a pas de planning.

Jeton : application ou utilisateur.

NomTypeDescription
broadcaster_id requisstringDiffuseur dont on lit le planning.
idstring | readonly string[]Uniquement ces créneaux. Jusqu’à 100 identifiants.
start_timestring | DateUniquement les créneaux qui commencent après ce moment. Twitch prend l’instant présent par défaut.
firstnumberÉléments par page, de 1 à 25. Twitch en renvoie 20 par défaut.
afterstringCurseur de la page suivante.

options : Options de requête pour cet appel : as, token, signal, timeout, retries.

Paginator<ScheduleSegment, ScheduleResponse>

Champs de ScheduleSegment
NomTypeDescription
idstringIdentifiant du créneau.
start_timestringDébut de la diffusion, sous forme d’horodatage RFC 3339.
end_timestringFin de la diffusion, sous forme d’horodatage RFC 3339.
titlestringTitre de la diffusion.
canceled_untilstring | nullRenseigné quand cette occurrence d’une diffusion récurrente a été annulée : il contient alors le même horodatage RFC 3339 que end_time. null sinon.
categoryScheduleCategory | nullCatégorie prévue pour la diffusion, ou null quand aucune n’a été choisie.
is_recurringbooleanIndique si la diffusion se répète chaque semaine. false pour une diffusion ponctuelle.
const page = await twitch.schedule.get({ broadcaster_id: "141981764" });
console.log(page.raw.data.vacation);
for (const segment of page) console.log(segment.start_time, segment.title);

Référence Twitch

twitch.schedule.icalendar(params, options?): Promise<string>

Renvoie le planning d’une chaîne sous forme de texte iCalendar, prêt à être enregistré dans un fichier .ics. Twitch ne demande pas de jeton ici, le client envoie quand même son jeton habituel.

Jeton : application ou utilisateur.

NomTypeDescription
broadcaster_id requisstringDiffuseur dont on exporte le planning.

options : Options de requête pour cet appel : as, token, signal, timeout, retries.

Promise<string>

const ics = await twitch.schedule.icalendar({ broadcaster_id: "141981764" });

Référence Twitch

twitch.schedule.updateSettings(params?, options?): Promise<void>

Planifie ou annule les vacances d’une chaîne.

Jeton : utilisateur, scope channel:manage:schedule.

NomTypeDescription
broadcaster_idstringDiffuseur à qui appartient le planning. Par défaut, l’utilisateur qui fait l’appel.
is_vacation_enabledbooleantrue pour planifier des vacances aux dates ci-dessous, false pour annuler celles qui sont prévues.
vacation_start_timestring | DateDébut des vacances. Obligatoire quand is_vacation_enabled vaut true.
vacation_end_timestring | DateFin des vacances. Obligatoire quand is_vacation_enabled vaut true.
timezonestringFuseau horaire dans lequel le diffuseur streame, sous forme de nom IANA tel que "Europe/Paris". Obligatoire quand is_vacation_enabled vaut true.

options : Options de requête pour cet appel : as, token, signal, timeout, retries.

Promise<void>

await twitch.schedule.updateSettings({
is_vacation_enabled: true,
vacation_start_time: "2026-08-01T00:00:00Z",
vacation_end_time: "2026-08-15T00:00:00Z",
timezone: "Europe/Paris",
});

Référence Twitch

twitch.schedule.createSegment(params, options?): Promise<Schedule>

Ajoute une diffusion ponctuelle ou hebdomadaire au planning d’une chaîne. Se résout avec le planning, dont segments ne contient que le nouveau créneau.

Jeton : utilisateur, scope channel:manage:schedule.

NomTypeDescription
broadcaster_idstringDiffuseur à qui appartient le planning. Par défaut, l’utilisateur qui fait l’appel.
start_time requisstring | DateDébut de la diffusion.
timezone requisstringFuseau horaire de la diffusion, sous forme de nom IANA tel que "Europe/Paris".
duration requisstringDurée de la diffusion en minutes, écrite sous forme de chaîne : de "30" à "1380".
is_recurringbooleanIndique si la diffusion se répète chaque semaine. Les diffusions ponctuelles sont réservées aux affiliés et aux partenaires.
category_idstringIdentifiant de la catégorie prévue pour la diffusion.
titlestringTitre de la diffusion, 140 caractères au plus.

options : Options de requête pour cet appel : as, token, signal, timeout, retries.

Promise<Schedule>

Champs de Schedule
NomTypeDescription
segmentsScheduleSegment[]Diffusions prévues.
broadcaster_idstringIdentifiant du diffuseur à qui appartient le planning.
broadcaster_namestringNom d’affichage du diffuseur.
broadcaster_loginstringNom de connexion du diffuseur.
vacationScheduleVacation | nullVacances prévues, ou null quand le mode vacances est désactivé.
const schedule = await twitch.schedule.createSegment({
start_time: "2026-07-01T18:00:00Z",
timezone: "Europe/Paris",
duration: "120",
is_recurring: true,
});

Référence Twitch

twitch.schedule.updateSegment(params, options?): Promise<Schedule>

Modifie ou annule une diffusion prévue. Sur un créneau récurrent, le nouveau titre, la nouvelle catégorie, la nouvelle durée ou le nouveau fuseau horaire s’applique à toutes les occurrences. Se résout avec le planning, dont segments ne contient que le créneau modifié.

Jeton : utilisateur, scope channel:manage:schedule.

NomTypeDescription
broadcaster_idstringDiffuseur à qui appartient le planning. Par défaut, l’utilisateur qui fait l’appel.
id requisstringIdentifiant du créneau à modifier.
start_timestring | DateNouveau début. Seuls les affiliés et les partenaires peuvent déplacer un créneau, et seulement un créneau ponctuel.
durationstringNouvelle durée en minutes, écrite sous forme de chaîne : de "30" à "1380".
category_idstringIdentifiant de la nouvelle catégorie.
titlestringNouveau titre, 140 caractères au plus.
is_canceledbooleantrue pour annuler la diffusion. Sur un créneau récurrent, cela annule la prochaine occurrence, quelle que soit celle que désigne id.
timezonestringNouveau fuseau horaire, sous forme de nom IANA tel que "Europe/Paris".

options : Options de requête pour cet appel : as, token, signal, timeout, retries.

Promise<Schedule>

Champs de Schedule
NomTypeDescription
segmentsScheduleSegment[]Diffusions prévues.
broadcaster_idstringIdentifiant du diffuseur à qui appartient le planning.
broadcaster_namestringNom d’affichage du diffuseur.
broadcaster_loginstringNom de connexion du diffuseur.
vacationScheduleVacation | nullVacances prévues, ou null quand le mode vacances est désactivé.
await twitch.schedule.updateSegment({ id: segment.id, duration: "90" });

Référence Twitch

twitch.schedule.deleteSegment(params, options?): Promise<void>

Supprime une diffusion prévue. Supprimer un créneau récurrent en supprime toutes les occurrences.

Jeton : utilisateur, scope channel:manage:schedule.

NomTypeDescription
broadcaster_idstringDiffuseur à qui appartient le planning. Par défaut, l’utilisateur qui fait l’appel.
id requisstringIdentifiant du créneau à supprimer.

options : Options de requête pour cet appel : as, token, signal, timeout, retries.

Promise<void>

await twitch.schedule.deleteSegment({ id: segment.id });

Référence Twitch