---
title: "Record Action Result Route"
method: POST
path: "/api/v1/nova/sessions/{session_id}/action-results"
tags: ["nova"]
---

# Record Action Result Route

`POST /api/v1/nova/sessions/{session_id}/action-results`

## Request

- Base URL: `https://cp.xenovia.io` (the document declares no server; this is the origin it was published from)
- URL: `https://cp.xenovia.io/api/v1/nova/sessions/{session_id}/action-results`
- Auth: none declared

A form Nova handed off was finished or cancelled. Stored as a
``data-nova-action-result`` part, so Nova sees it on its next turn.

## Path parameters

- `session_id` string, uuid, required

## Headers

- `Authorization` string, nullable

## Request body

- ActionResult: A form Nova handed to the person, finished or cancelled. The UI builds the summary from non-secret fields only.
  - `action` string, required
  - `status` 'done' | 'cancelled', required
  - `summary` string, required
  - `target` ActionTarget
    - `type` string, required
    - `id` string, required

## Response `201`

Successful Response

- NovaMessageRead
  - `id` string, uuid, required
  - `seq` integer, required
  - `role` string, required
  - `parts` unknown[], required
    - unknown
  - `context` object, nullable

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-04** `b475b750a0b7`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/xenovia/apis/controlplane/changes/api/v1/nova/sessions/:session_id/action-results/post.md)

---

[API](https://skmtc.dev/xenovia/apis/controlplane.md) - [All operations](https://skmtc.dev/xenovia/apis/controlplane/llms.txt) - [OpenAPI document](https://skmtc.dev/xenovia/apis/controlplane/revisions/3e25bef24f8f?raw)
