---
title: "Preflight: remaining task capacity before the first batch POST"
method: GET
path: "/api/v0/tasks/batch"
tags: ["Tasks"]
---

# Preflight: remaining task capacity before the first batch POST

`GET /api/v0/tasks/batch`

## Request

- Base URL: `https://app.vibeflow.tools`
- URL: `https://app.vibeflow.tools/api/v0/tasks/batch`
- Auth: HTTP bearer

Ticket b4c525fa: reports { maxItems, plan, open/total limit+used+remaining } so the CLI refuses-or-confirms before chunk one instead of discovering the cap mid-push. Scope is reads (probing must not require write); a 404 on old servers doubles as the CLI capability probe. Runner marks NOT-RUNNABLE locally.

## Response `200`

Preflight: remaining task capacity before the first batch POST — success

- BatchPreflight: Envelope of GET /api/v0/tasks/batch (ticket b4c525fa): remaining task capacity BEFORE the first batch POST. Limits (and remainings) are null when the plan caps nothing on that dimension.
  - `maxItems` integer, required
  - `plan` string, required
  - `openLimit` integer, nullable
  - `openUsed` integer
  - `openRemaining` integer, nullable
  - `totalLimit` integer, nullable
  - `totalUsed` integer
  - `totalRemaining` integer, nullable

## Other responses

- `401`: Missing or invalid principal
- `403`: Lacking scope or membership
- `429`: Rate limited — cloud per-token quota exceeded (reads 300/min, writes 60/min, token creation 10/hour); counters are per-replica, so the effective limit is the configured value × replicas. The response carries Retry-After.

---

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