# Add the bulk endpoint that clients are emulating with a loop

An operation clients call in a loop, given a bulk endpoint with defined partial-failure behaviour.

Category: API surface and contracts
Source: https://letsship.ai/use-cases/add-the-bulk-endpoint
Published: 2026-08-25

## Goal

Add a bulk endpoint for an operation clients currently loop over.

## Acceptance criteria

- The endpoint accepts a bounded batch with a stated limit
- Partial failure is defined and tested
- The response reports per-item outcomes
- The single-item endpoint keeps working

## What lands as proof

A partial-failure test, because that is the case a loop handles implicitly and a bulk endpoint must handle explicitly.

## Prompt

Copy this to an agent to open the ticket:

```text
Create a Linear issue in my team and assign it to the SHIP agent.

Title: Add a bulk {operation} endpoint

Description: Add a bulk endpoint for an operation clients currently loop over.

Acceptance criteria:
- The endpoint accepts a bounded batch with a stated limit
- Partial failure is defined and tested
- The response reports per-item outcomes
- The single-item endpoint keeps working

Before you create the issue, find an endpoint in this repository that clients call in a loop and replace {operation} with it.
```

## Questions

### What does the agent actually change?

The ticket is scoped to one outcome: add a bulk endpoint for an operation clients currently loop over. Work that serves that outcome is in scope, and anything outside it is left for a separate ticket, so the pull request stays reviewable.

### How do I know the work is done?

The pull request carries the evidence, not only the diff. Here that means contract tests on partial success and on the size limit, so a reviewer can confirm the result without reproducing the work locally.

### How much oversight does this need?

The run stops once the plan is written. Somebody reads the approach and approves it before any code exists, which is the cheapest moment to redirect the work.
