Récupérer l’historique des exécutions du Template cron
Renvoie les déclenchements conservés pour un Template Cron.
https://api2.transloadit.com/ templates/ {templateIdOrName}/ cron-runsCe point de terminaison est en phase alpha. Son URL, ses paramètres, ses réponses et son comportement peuvent changer considérablement et rendre les intégrations existantes inopérantes.
Définissez TEMPLATE_ID_OR_NAME sur un Template Cron appartenant au Workspace authentifié.
Cet aperçu soumis à un contrôle d’accès renvoie jusqu’à 100 occurrences planifiées des 30 derniers jours, de la plus récente à la plus ancienne.
Utilisez la valeur next_before de la réponse comme valeur de before pour récupérer des occurrences planifiées plus anciennes. Une valeur null signifie
qu’il n’existe aucune occurrence planifiée plus ancienne encore conservée.
Chaque entrée comprend l’heure prévue, l’heure d’admission et l’heure de fin, le résultat et un code de motif
assaini. Les exécutions ignorées, qui se chevauchent, mises en pause ou ambiguës sont conservées aux côtés des
Assemblies terminées. Un point de contrôle d’Assembly manquant passe à lost après le délai configuré,
qui est de 10 minutes par défaut. Un point de contrôle initial d’Assembly reçu tardivement peut corriger ce résultat.
Une Assembly planifiée qui plante est immédiatement marquée failed avec le motif crashed_not_retried.
Elle ne fait l’objet d’aucune nouvelle tentative, et l’exécution planifiée suivante se déroule normalement.
Le champ cron_disabled_reason de premier niveau explique un arrêt automatique de la planification actuelle :
consecutive_failures signifie trois exécutions consécutives en échec ; auth_key_unavailable,
instructions_invalid, schedule_invalid ou dispatch_rejected signifie un échec permanent
de validation ou de distribution. Corrigez le problème et réactivez la planification pour reprendre les exécutions.
Cette explication persiste au-delà de l’historique de 30 jours. La réactivation ou la modification des paramètres de planification
crée une nouvelle révision de la planification et efface cette explication. Une valeur null ou absente signifie qu’aucune explication
n’est disponible ; elle ne permet pas de déterminer si la planification est activée ou en pause.
Les informations d’identification et les Instructions stockées ne sont jamais incluses dans cette réponse.
Exemple de requête
Définissez TEMPLATE_ID_OR_NAME sur la valeur de votre ressource sans l’encoder en pourcentage.
Exécutez cette requête dans un shell côté serveur avec curl et un jeton porteur approprié dans TRANSLOADIT_TOKEN. Si vous avez besoin d’un jeton, développez la section de configuration ci-dessous.
Besoin d’un jeton porteur ?
Dans un shell de confiance côté serveur disposant de curl et de jq, définissez TRANSLOADIT_KEY et TRANSLOADIT_SECRET avec votre Auth Key et votre Auth Secret. Gardez secrets ces deux éléments d’identification ainsi que le jeton obtenu ; n’exécutez jamais cette configuration dans du code exécuté dans un navigateur.
Créez d’abord un jeton avec les portées requises par ce point de terminaison. Votre Auth Key doit déjà accorder ces portées.
if ! TOKEN_RESPONSE="$(curl --fail-with-body -sS \
--request POST \
--url 'https://api2.transloadit.com/token' \
--user "${TRANSLOADIT_KEY:?Set TRANSLOADIT_KEY}:${TRANSLOADIT_SECRET:?Set TRANSLOADIT_SECRET}" \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'aud=api2' \
--data-urlencode 'scope=templates:read')"; then
printf '%s\n' "$TOKEN_RESPONSE" >&2
exit 1
fi
TRANSLOADIT_TOKEN="$(printf '%s' "$TOKEN_RESPONSE" |
jq -er '.access_token | strings | select(length > 0)')" || exit 1
Gardez ce shell ouvert et exécutez la requête ci-dessous. Réutilisez le jeton tant qu’il reste valide.
curl --fail-with-body -sS --request GET --get \
--url "https://api2.transloadit.com/templates/${TEMPLATE_ID_OR_NAME:?Set TEMPLATE_ID_OR_NAME}/cron-runs" \
--header "Authorization: Bearer ${TRANSLOADIT_TOKEN:?Set TRANSLOADIT_TOKEN}" \
--data-urlencode 'params={}'
Authentification
Ce point de terminaison accepte des params signés ou un jeton porteur. Consultez la section Authentification pour les instructions de configuration.
Portée requise pour l’Auth Key ou le jeton porteur : templates:read.
Les requêtes signées nécessitent à la fois une signature et un horodatage params.auth.expires situé dans le futur. Les jetons porteurs ne nécessitent ni l’un ni l’autre.
Paramètres de chemin
templateIdOrName(segment de chemin), obligatoire. motif :^[a-z0-9-]+$, longueur minimale : 1
Paramètres de requête
params(Chaîne JSON). Un objet encodé en JSON dont les clés prises en charge sont répertoriées ci-dessous.signature(chaîne de caractères). Obligatoire pour les requêtes signées. Omettez ce champ lorsque vous utilisez un jeton porteur.
Clés prises en charge dans le champ signé params
Les champs d’authentification de cette liste s’appliquent aux requêtes signées. Avec un jeton porteur, vous pouvez omettre params.auth et le champ distinct signature. Comparez les paramètres de requête spécifiques à l’authentification ci-dessous.
Schéma JSON complet
params: Seuls les champs répertoriés pour cet objet sont acceptés.
| Champ | Type et description |
|---|---|
params.obligatoire pour les requêtes signées ; facultatif avec un jeton porteur | Contient la clé API Transloadit et les métadonnées de Signature Authentication pour une requête de Template.
|
params.obligatoire | stringHorodatage d’expiration au format ISO 8601 situé dans le futur. Obligatoire lorsqu’une requête est signée ou nécessite Signature Authentication ; les requêtes authentifiées par jeton porteur peuvent l’omettre. |
params.obligatoire | stringClé API Transloadit utilisée pour authentifier les requêtes |
params. | stringRenvoie les déclenchements planifiés avant cet horodatage ISO en UTC. Omettez-le pour obtenir la page la plus récente ; utilisez la valeur Motif de validation (expression régulière)^(([0-9][0-9][2468][048]|[0-9][0-9][13579][26]|[0-9][0-9]0[48]|[02468][048]00|[13579][26]00)-02-29|[0-9]{4}-((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])|(0[469]|11)-(0[1-9]|[12][0-9]|30)|(02)-(0[1-9]|1[0-9]|2[0-8])))T([01][0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9](\.[0-9]+)?)?(Z)$ |
params. | string | integerValeur unique et aléatoire incluse dans les paramètres de la requête signée pour rendre chaque signature unique et empêcher la réutilisation accidentelle d’une signature. |
Paramètres de requête par méthode d’authentification
Avec des paramètres signés
Incluez votre Auth Key dans params.auth.key. Lors de la signature de la requête, incluez un horodatage futur dans params.auth.expires et envoyez la signature dans le champ distinct signature. Les définitions des champs ci-dessous utilisent des chemins à l’intérieur de params.
Schéma JSON complet
params: Seuls les champs répertoriés pour cet objet sont acceptés.
Utilise les définitions des champs ci-dessus : params.auth, params.before, params.nonce
Avec un jeton porteur
Envoyez le jeton porteur dans l’en-tête Authorization. Vous pouvez omettre params.auth et le champ distinct signature. Les autres paramètres obligatoires restent requis. Les définitions des champs ci-dessous utilisent des chemins à l’intérieur de params.
Schéma JSON complet
params: Seuls les champs répertoriés pour cet objet sont acceptés.
Utilise les définitions des champs ci-dessus : params.before, params.nonce
| Champ | Type et description |
|---|---|
params. | Contient la clé API Transloadit et les métadonnées de Signature Authentication pour une requête de Template.
|
params. | stringHorodatage d’expiration au format ISO 8601 situé dans le futur. Obligatoire lorsqu’une requête est signée ou nécessite Signature Authentication ; les requêtes authentifiées par jeton porteur peuvent l’omettre. |
params. | stringClé API Transloadit utilisée pour authentifier les requêtes |
Réponse
Voici un exemple de corps de réponse :
{
"message": "Your Template was successfully found.",
"next_before": null,
"ok": "TEMPLATE_FOUND",
"runs": [
{
"admitted_at": "2026-09-12T10:00:00.100Z",
"assembly_id": "31f8e3baa9ef4fb1bfc76e8267746c4c",
"attempts": 1,
"completed_at": "2026-09-12T10:00:02.000Z",
"generation": "1",
"id": "66530f0d34f041e98b3050b467e280f9",
"instructions_hash": "5a69d6a0b248c5f042aa76ba4c34e52ab81fcda8d486e068ef9e33f8bdc00f8d",
"missed_count": "0",
"missed_from": null,
"missed_through": null,
"outcome": "succeeded",
"reason": null,
"recovery_assembly_id": null,
"region": "us-east-1",
"scheduled_at": "2026-09-12T10:00:00.000Z"
}
],
"template_id": "8fc3b9166c784afd824acf24269ebd11"
}Succès 2xx
Corps de la réponse JSON. application/json text/plain; charset=utf-8
Schéma du corps de la réponse
Schéma JSON complet
La réponse contient uniquement les champs répertoriés pour cet objet.
| Champ | Type et description | ||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cron_disabled_reason | "auth_key_unavailable" | "consecutive_failures" | "dispatch_rejected" | "instructions_invalid" | "schedule_invalid" | null | ||||||||||||||||||||||||||||||||
messageobligatoire | string (longueur minimale : 1) | ||||||||||||||||||||||||||||||||
next_beforeobligatoire | string | nullMotif de validation (expression régulière)^(([0-9][0-9][2468][048]|[0-9][0-9][13579][26]|[0-9][0-9]0[48]|[02468][048]00|[13579][26]00)-02-29|[0-9]{4}-((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])|(0[469]|11)-(0[1-9]|[12][0-9]|30)|(02)-(0[1-9]|1[0-9]|2[0-8])))T([01][0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9](\.[0-9]+)?)?(Z)$ | ||||||||||||||||||||||||||||||||
okobligatoire | string (toujours : "TEMPLATE_FOUND") | ||||||||||||||||||||||||||||||||
runsobligatoire | Array<object> (nombre maximal d’éléments : 100)Schéma d’un élément de tableau
| ||||||||||||||||||||||||||||||||
template_idobligatoire | string |
Réponse d’erreur
Corps de la réponse JSON. application/json text/plain; charset=utf-8
Schéma du corps de la réponse
Schéma JSON complet
La réponse peut contenir des champs supplémentaires.
| Champ | Type et description |
|---|---|
assembly_id | string |
error | string (longueur minimale : 1) |
http_code | number | string
|
message | stringExplication de l’erreur destinée à être lue par un humain. Sa formulation peut varier ; utilisez le code |
reason | null | string | number | boolean | Array<n’importe quelle valeur> | objectN’importe lequel des schémas suivants peut s’appliquer : nullstringnumberbooleanArray<n’importe quelle valeur>Array<n’importe quelle valeur>Schéma d’un élément de tableaun’importe quelle valeurobjectobjectSchéma de la propriété supplémentairen’importe quelle valeur |
HTTP 400
Corps de la réponse JSON. application/json text/plain; charset=utf-8
Schéma du corps de la réponse
Schéma JSON complet
Erreurs nommées et format général des erreurs
error: "SIGNATURE_REUSE_DETECTED"
La requête a été refusée pour des raisons de sécurité. Si vous pensez qu’il s’agit d’une erreur, veuillez contacter l’assistance.
La réponse peut contenir des champs supplémentaires.
Format général des erreurs
error: "TEMPLATE_VALIDATION_ERROR"
La validation de votre Template a échoué.
La réponse peut contenir des champs supplémentaires.