---
title: "Move a session to a project"
method: POST
path: "/v3/organizations/{orgId}/sessions/{sessionId}/project"
tags: ["Sessions"]
---

# Move a session to a project

`POST /v3/organizations/{orgId}/sessions/{sessionId}/project`

## Request

- Base URL: `https://api.reasonmachines.com`
- URL: `https://api.reasonmachines.com/v3/organizations/{orgId}/sessions/{sessionId}/project`
- Auth: HTTP bearer

Requires run. The Session lists under that Project, and its later turns follow the Project's instructions.

<sub>Scope: `run`</sub>

## Request body

- object
  - `project_id` string, nullable, required: An accessible Project's id (GET /projects), or null to take the Session out of its Project.

## Response `200`

The Session's Project.

## Other responses

- `400`: Invalid request.
- `401`: Missing, invalid, or expired key.
- `403`: The key lacks the required scope or role.
- `404`: Resource not found.
- `409`: The Session's state does not allow this now; `error` says why (for example not_terminal while a turn runs).
- `429`: Too many requests. Retry after the number of seconds in the `Retry-After` response header.
- `503`: Product writes are disabled.

## Changes

- **2026-10-15** `fad7b15a74a7`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/ara/apis/reason-api/changes/v3/organizations/:orgId/sessions/:sessionId/project/post.md)

---

[API](https://skmtc.dev/ara/apis/reason-api.md) - [All operations](https://skmtc.dev/ara/apis/reason-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ara/apis/reason-api/revisions/e97c8704807c?raw)
