Jobs
Tout ce qui est lent dans Meetingize s’exécute comme un job asynchrone : le traitement d’une nouvelle réunion
(transcription, diarisation, compte rendu IA) et la génération d’un document. Le POST qui lance le travail répond
immédiatement avec le job ; vous le suivez ensuite par polling ou avec des webhooks.
Types de jobs
Section intitulée « Types de jobs »kind | Lancé par | Se termine par |
|---|---|---|
meeting_processing | POST /v1/meetings | la transcription et le compte rendu IA (transcription seule avec transcribe_only) |
document_generation | POST /v1/meetings/{id}/documents, ou document_templates à la création de la réunion | un document (document_id) |
Statuts et étapes
Section intitulée « Statuts et étapes »status est l’état global, stage le détail :
status | stage (traitement de réunion) | stage (génération de document) |
|---|---|---|
queued | queued | queued |
processing | downloading (avec audio_url), transcribing, summarizing | generating |
completed | done | done |
failed | l’étape où le job a échoué | |
canceled | le traitement a été annulé (par exemple la réunion a été supprimée pendant son exécution) |
Un traitement de réunion à l’étape summarizing dispose déjà de sa transcription ; il passe à completed quand le
compte rendu IA est prêt.
Récupérer un job
Section intitulée « Récupérer un job »GET /v1/jobs/{job_id} renvoie le statut, l’étape, les ids de ce qui a été produit et le coût d’un job. C’est
ce que vous interrogez en polling.
{ "id": "job_9b0c2d1e", "object": "job", "kind": "meeting_processing", "status": "completed", "stage": "done", "progress": null, "meeting_id": "6f0c2a4e-1b7d-4c55-9a51-3e2d8f0b7c11", "document_id": null, "parent_job_id": null, "transcribe_only": false, "document_templates": ["tpl_42"], "document_job_ids": ["job_a41f07c2"], "error": null, "usage": { "cost_eur": "0.0581", "wallet_eur": "0.0581", "on_demand_eur": "0.0000", "ledger_entry_ids": ["led_..."] }, "metadata": { "crm_id": "C-1042" }, "created_at": "2026-10-14T10:02:11Z", "started_at": "2026-10-14T10:02:13Z", "finished_at": "2026-10-14T10:09:42Z"}| Champ | Signification |
|---|---|
meeting_id | la réunion concernée (connue dès le départ) |
document_id | document_generation : le document une fois terminé |
document_job_ids | meeting_processing : les jobs de document lancés après le compte rendu (depuis document_templates ou persona) |
parent_job_id | document_generation : le job de réunion qui l’a demandé à la création |
error | {code, message} quand le job a échoué |
usage | coût du job une fois mesuré, voir facturation |
metadata | l’objet que vous avez envoyé, inchangé |
Lister les jobs
Section intitulée « Lister les jobs »GET /v1/jobs renvoie vos jobs, les plus récents en premier, filtrés avec status (queued, processing,
completed, failed, canceled) et kind. Pratique pour voir ce qui occupe vos
créneaux de traitement parallèle :
curl -s "https://app.meetingize.com/api/v1/jobs?status=processing" -H "Authorization: Bearer $MEETINGIZE_API_KEY"Polling ou abonnement ?
Section intitulée « Polling ou abonnement ? »- Polling : appelez
GET /v1/jobs/{id}toutes les 10 à 30 secondes jusqu’àcompleted,failedoucanceled. Simple et suffisant pour des scripts. - Webhooks : les événements
transcription.completed,processing.completed,document.generatedet les.failedassociés transportent le job dansdata.object. Recommandé pour les intégrations.
Le guide pas à pas Créer une réunion et récupérer les résultats montre les deux approches.