---
title: "Reports how many samples the given configuration would generate, and for which participants."
method: POST
path: "/benchmark/{benchmarkId}/sample-generation/preview"
tags: ["Benchmark", "SampleGeneration"]
---

# Reports how many samples the given configuration would generate, and for which participants.

`POST /benchmark/{benchmarkId}/sample-generation/preview`

Takes the same body as POST /benchmark/{benchmarkId}/sample-generation, so the same
 payload can be previewed and then submitted unchanged. Writes nothing and generates nothing.
 The numbers are a snapshot: in target mode they are measured against what exists and what is
 still being generated, both of which move, so a run submitted later may differ.

## Path parameters

- `benchmarkId` string, required

## Request body

- PreviewSampleGenerationEndpointInput
  - `mode` 'Additive' | 'Target'
  - `samplesPerPrompt` integer, required — How many samples to request per matching prompt (1 to 16).
  - `participantIds` string[], nullable — Restrict generation to specific participants. Defaults to all participants in the benchmark that have a configured faucet.
  - `promptIdentifiers` string[], nullable — Restrict generation to specific prompt identifiers. Defaults to every prompt in the benchmark.
  - `tags` string[], nullable — Restrict generation to prompts having at least one of these tags.

## Response `200`

OK

- PreviewSampleGenerationEndpointOutput
  - `totalCount` integer, required — How many generation items the run would queue.
  - `queuedSampleCount` integer, required — How many samples those items would produce, and therefore bill for.
  - `participants` PreviewSampleGenerationEndpointOutputParticipant[], required — The same numbers split per participant. Participants the run would generate nothing for are absent, so in target mode this lists exactly the models that still need work.
    - `id` string, required
    - `name` string, required
    - `promptCount` integer, required
    - `queuedSampleCount` integer, required
  - `skippedParticipantIds` string[], required — Participants that matched the selection but would be skipped because they have no faucet configured. Empty when explicit participant ids were supplied.
  - `satisfiedParticipantIds` string[], required — Participants the run would generate nothing for because they already hold the requested count. Distinct from SkippedParticipantIds, which is about participants that cannot generate at all. Always empty in additive mode.

## Other responses

- `400` — Bad Request
- `401` — Unauthenticated
- `403` — Forbidden

## Changes

- **2026-09-15** `ebc7fbc31114` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/rapidata/apis/rapidata-api/changes/benchmark/:benchmarkId/sample-generation/preview/post.md)

---

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