---
title: "Ingest an anonymous trial run"
method: POST
path: "/anon/runs"
tags: ["Anonymous"]
---

# Ingest an anonymous trial run

`POST /anon/runs`

## Request

- Base URL: `https://dungbeetle.dev`
- URL: `https://dungbeetle.dev/anon/runs`
- Auth: none required

Unauthenticated trial ingest. Rate-limited per IP (every upload counts);
stored runs are public at the returned URL, noindexed, and pruned after
24 hours.

## Request body

- RunIngestPayload
  - `branch` string: Advisory client metadata.
  - `commit` string: Advisory client metadata.
  - `report` IngestReport, required
    - `mode` 'test' | 'update', required
    - `passed` boolean, required
    - `project` string, required
    - `startedAt` string, required
    - `finishedAt` string, required
    - `results` IngestResult[], required
      - `name` string, required
      - `kind` string, required
      - `status` 'passed' | 'failed' | 'missing' | 'updated' | 'error', required
      - `baselinePath` string
      - `diff` string
      - `error` string
      - `snapshot` string: Canonical candidate snapshot JSON (runs pushed with --with-snapshots).
      - `screenshotRefs` object: Content-addressed screenshot artifact ids, set by the server at ingest.
        - `baseline` string: sha-256 hex digest (content-addressed artifact id).
        - `candidate` string: sha-256 hex digest (content-addressed artifact id).
        - `diff` string: sha-256 hex digest (content-addressed artifact id).

## Response `201`

Run stored.

- object
  - `run` object, required
    - `id` string, required
    - `url` string, required: Public page for this anonymous run.

## Other responses

- `400`: Invalid body or parameter (`code: validation_error`), or — on screenshot upload — a body that does not hash to the digest (`code: digest_mismatch`).
- `413`: Request body exceeds the configured limit (default 25 MiB) (`code: payload_too_large`).
- `429`: Too many failed attempts or uploads from this client (`code: rate_limited`). Honor the `Retry-After` header; successful authenticated requests never count toward the limit.

---

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