---
title: "Start batch journey executions"
method: POST
path: "/journey_execution/batch"
tags: ["Journey Execution"]
---

# Start batch journey executions

`POST /journey_execution/batch`

Queue multiple journey executions for a single journey. Each contact is processed independently.

## Request body

- object
  - `journey_id` string, uuid, required — The journey ID to execute
  - `items` object[], required — Array of contacts to enroll in the journey (max 500)
    - `deduplication_id` string, required — Unique ID to prevent duplicate processing
    - `contact` object, required — Contact details to import or find
      - `address_line1` string, nullable
      - `address_line2` string, nullable
      - `birthday` string, nullable
      - `campaign_messages_this_month` number
      - `city` string, nullable
      - `country` string, nullable
      - `created_at` string
      - `created_by` string, nullable
      - `created_by_api_token_id` string, nullable
      - `created_by_employee_id` string, nullable
      - `created_by_import_id` string, nullable
      - `deleted_at` string, nullable
      - `description` string, nullable
      - `display_name` string, nullable
      - `email` string, nullable
      - `email_health` 'healthy' | 'unhealthy' | 'unknown', nullable
      - `email_marketing_messages_this_month` number
      - `email_marketing_opt_in` boolean
      - `email_transactional_opt_in` 'legitimate_interest' | 'contract_fulfillment' | 'consent_granted', nullable
      - `external_id` string, nullable
      - `facebook` string, nullable
      - `facebook_health` 'healthy' | 'unhealthy' | 'unknown', nullable
      - `facebook_marketing_messages_this_month` number
      - `facebook_marketing_opt_in` boolean
      - `facebook_transactional_opt_in` 'legitimate_interest' | 'contract_fulfillment' | 'consent_granted', nullable
      - `fts` unknown
      - `full_name` string, nullable
      - `google_business_messaging` string, nullable
      - `google_business_messaging_health` 'healthy' | 'unhealthy' | 'unknown', nullable
      - `google_business_messaging_marketing_messages_this_month` number
      - `google_business_messaging_marketing_opt_in` boolean
      - `google_business_messaging_transactional_opt_in` 'legitimate_interest' | 'contract_fulfillment' | 'consent_granted', nullable
      - `id` string
      - `influenced_revenue` number
      - `instagram` string, nullable
      - `instagram_health` 'healthy' | 'unhealthy' | 'unknown', nullable
      - `instagram_marketing_messages_this_month` number
      - `instagram_marketing_opt_in` boolean
      - `instagram_transactional_opt_in` 'legitimate_interest' | 'contract_fulfillment' | 'consent_granted', nullable
      - `is_blocked` boolean
      - `last_external_review_rating` number, nullable
      - `last_interaction_at` string, nullable
      - `last_internal_review_rating` number, nullable
      - `last_outbound_at` string, nullable
      - `last_review_rating` number, nullable
      - `latest_marketing_opt_in_request_sent_at` string, nullable
      - `latest_review_request_message_sent_at` string, nullable
      - `marketing_opt_in` boolean, nullable
      - `number_of_marketing_opt_in_requests` number
      - `organisation_id` string
      - `postal` string, nullable
      - `postal_health` 'healthy' | 'unhealthy' | 'unknown', nullable
      - `postal_marketing_messages_this_month` number, nullable
      - `postal_marketing_opt_in` boolean
      - `postal_messages_this_month` number, nullable
      - `postal_transactional_opt_in` 'legitimate_interest' | 'contract_fulfillment' | 'consent_granted', nullable
      - `review_request_message_count` number
      - `salutation` string, nullable
      - `secondary_external_id` string, nullable
      - `sms` string, nullable
      - `sms_health` 'healthy' | 'unhealthy' | 'unknown', nullable
      - `sms_marketing_messages_this_month` number
      - `sms_marketing_opt_in` boolean
      - `sms_transactional_opt_in` 'legitimate_interest' | 'contract_fulfillment' | 'consent_granted', nullable
      - `transactional_opt_in` 'legitimate_interest' | 'contract_fulfillment' | 'consent_granted', nullable
      - `updated_at` string
      - `updated_by` string, nullable
      - `updated_by_api_token_id` string, nullable
      - `updated_by_employee_id` string, nullable
      - `updated_by_import_id` string, nullable
      - `whatsapp` string, nullable
      - `whatsapp_health` 'healthy' | 'unhealthy' | 'unknown', nullable
      - `whatsapp_marketing_messages_this_month` number
      - `whatsapp_marketing_opt_in` boolean
      - `whatsapp_transactional_opt_in` 'legitimate_interest' | 'contract_fulfillment' | 'consent_granted', nullable
      - `zipcode` string, nullable
    - `context` object, nullable — Context data for this contact, must match the schema defined in the journey trigger node

## Response `202`

Batch queued successfully

- object
  - `success` boolean, required
  - `queued_count` number, required

## Other responses

- `400` — Invalid input or context validation failed
- `404` — Journey version or trigger node not found

---

[API](https://skmtc.dev/getmateo/apis/mateo-api.md) · [All operations](https://skmtc.dev/getmateo/apis/mateo-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/getmateo/mateo-api/revisions/22a9b3b009d1/schema)
