---
title: "ExecuteBatch"
method: POST
path: "/api/batch/v1/execute"
tags: ["BatchService"]
---

# ExecuteBatch

`POST /api/batch/v1/execute`

## Request

- Base URL: `https://api.worldmonitor.app`
- URL: `https://api.worldmonitor.app/api/batch/v1/execute`
- Auth: one of:
  - API key in header `X-WorldMonitor-Key`
  - API key in header `X-Api-Key`

ExecuteBatch runs a bulk batch of up to 20 read (GET) operations concurrently in one round trip and returns per-operation statuses and bodies. Use it instead of looping single calls when acting on many items; add a per-operation ?jmespath= projection to keep each body small.

## Headers

- `Idempotency-Key` string

## Request body

- WorldmonitorBatchV1ExecuteBatchRequest: ExecuteBatchRequest carries the array of operations to execute in bulk.
  - `operations` WorldmonitorBatchV1BatchOperation[]
    - `id` string: Client-chosen correlation id echoed back in the matching result. Defaults to the operation's zero-based index when omitted.
    - `path` string, required: Absolute path of any documented GET operation, optionally including a query string — e.g. "/api/market/v1/list-market-quotes" or "/api/intelligence/v1/get-country-risk?country=DE&jmespath=score". Nested batch paths (/api/batch/*) are rejected.

## Response `200`

OK

- WorldmonitorBatchV1ExecuteBatchResponse: ExecuteBatchResponse aggregates the per-operation results.
  - `results` WorldmonitorBatchV1BatchOperationResult[]
    - `id` string: Correlation id from the request (or the operation's zero-based index when omitted).
    - `status` integer: HTTP status code returned by the operation, or 0 when the operation could not be executed at all (see error).
    - `body` WorldmonitorBatchV1BatchOperationBody: BatchOperationBody is the JSON response body returned by one batched operation. It is a free-form object whose shape is defined by the target operation's own response schema (see that operation's entry in this spec).
    - `error` string: Machine-readable failure reason when no response body is available: invalid_path, nested_batch, timeout, fetch_failed, response_too_large, or invalid_json.
  - `succeeded` integer: Number of operations that returned an HTTP 2xx status.
  - `failed` integer: Number of operations that returned a non-2xx status or failed to execute.

## Other responses

- `400`: Validation error, invalid Idempotency-Key header, or malformed JSON request body
- `401`: Missing or invalid API key.
- `403`: API access requires an active subscription (the API key's subscription is inactive or expired).
- `409`: A request with this Idempotency-Key is still being processed
- `422`: The Idempotency-Key was already used with a different request body
- `429`: Rate limit exceeded.
- `503`: Service unavailable. Billing-verification responses include code and X-Billing-Verification; other gateway infrastructure failures use the generic GatewayError shape.
- `default`: Gateway or handler error response.

---

[API](https://skmtc.dev/worldmonitor/apis/worldmonitor-api.md) · [All operations](https://skmtc.dev/worldmonitor/apis/worldmonitor-api/llms.txt) · [OpenAPI document](https://skmtc.dev/worldmonitor/apis/worldmonitor-api/revisions/e3dc8463a5c9?raw)
