---
title: "Create Refine Session"
method: POST
path: "/refine"
tags: ["refine"]
---

# Create Refine Session

`POST /refine`

Create and queue an iterative refine session over an authored physics USD.

Exactly one of `physics_usd`, `s3_uri`, or `source_session_id` must be
provided. Both `scenario_yaml` and `user_prompt` are required: the YAML
defines the initial tuning scenario and the prompt defines the target
behavior for judge/refiner calls. Deployments build the judge/refiner
models server-side from service configuration.

## Response `202`

Refine queued for execution

- SessionCreated — Response when session is created.
  - `session_id` string, required
  - `status` string
  - `message` string
  - `estimated_duration_minutes` integer, nullable — Estimated completion time

## Other responses

- `400` — Invalid scenario, optimizer, source, or input USD
- `403` — Client S3 URI rejected by the configured bucket allowlist, or S3 access denied.
- `422` — Validation Error

## Changes

- **2026-07-21** `14f08fb85d12` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/nvidia/apis/physics-agent-service/changes/refine/post.md)

---

[API](https://skmtc.dev/nvidia/apis/physics-agent-service.md) · [All operations](https://skmtc.dev/nvidia/apis/physics-agent-service/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/nvidia/physics-agent-service/revisions/47f3bc191c91/schema)
