---
title: "Run up to 20 read operations in one request"
method: POST
path: "/api/v1/batch"
tags: ["Batch (v1)"]
---

# Run up to 20 read operations in one request

`POST /api/v1/batch`

## Request

- Base URL: `https://dribba.com`
- URL: `https://dribba.com/api/v1/batch`
- Auth: none required

Resolves each operation in-process — no internal HTTP round trip — and returns one result per operation, in order. GET operations on /api/v1 paths only: a batch that could write would be a way around the same-origin rule on the form endpoints. Per-operation failures do not fail the batch; each result carries its own status.

## Headers

- `Idempotency-Key` string

## Request body

- BatchRequest
  - `operations` BatchOperation[], required
    - `id` string: Echoed back on the matching result. Defaults to the array index.
    - `method` 'GET'
    - `path` string, required: A /api/v1 path, query string included, e.g. /api/v1/cases?limit=2

## Response `200`

Per-operation results

- BatchResponse
  - `count` integer, required
  - `results` BatchResult[], required
    - `id` string, required
    - `status` integer, required: Per-operation HTTP status.
    - `body` unknown
    - `error` object: Present instead of `body` when the operation failed.
      - `code` string
      - `detail` string

## Other responses

- `400`: Missing or oversized `operations` array
- `405`: Batch is a POST operation
- `415`: Body was not sent as application/json
- `429`: Rate limit exceeded
- `500`: Unexpected server error

---

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