---
title: "Create Session"
method: POST
path: "/api/v1/benchmark-ingestion/sessions"
tags: ["benchmark-ingestion"]
---

# Create Session

`POST /api/v1/benchmark-ingestion/sessions`

## Headers

- `Idempotency-Key` string, required

## Request body

- BenchmarkIngestionSubmissionRequest
  - `agent_id` string, required — The benchmark's agent ID. Required for both new benchmarks and appends.
  - `metadata` object, required
  - `upload_digest` string, required
  - `bench_id` string, nullable
  - `build_images` boolean

## Response `201`

Successful Response

- BenchmarkIngestionSession
  - `session_id` string, required
  - `bench_id` string, required
  - `accepted` boolean, required

## Changes

- **2026-09-28** `1efa21f7aeb8` — 3 breaking, 1 warning
  - the request property `agent_id` became required
  - request property `agent_id` list-of-types was narrowed by removing types `null` from media type `application/json`
  - added the pattern `^agt_[a-z0-9]+$` to the request property `agent_id`
  - the `agent_id` request property's maxLength was set to `64`
- **2026-09-21** `59e078d20686` — 1 info
  - added the new optional request property `agent_id`
- **2026-09-09** `f9c017dc9300` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/trajectory/apis/trajectory-api/changes/api/v1/benchmark-ingestion/sessions/post.md)

---

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