---
title: "Verify and atomically promote a Version"
method: POST
path: "/publish-sessions/{sessionId}/finalize"
tags: ["Publish"]
---

# Verify and atomically promote a Version

`POST /publish-sessions/{sessionId}/finalize`

## Request

- Base URL: `https://api.temp.md`
- URL: `https://api.temp.md/publish-sessions/{sessionId}/finalize`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/temp-md/apis/temp-md-public-api/docs/publish-sessions/:sessionId/finalize/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `sessionId` string, required

## Headers

- `X-Tempmd-Client` string

## Response `200`

Version promoted; safe to retry

- FinalizeResult
  - `success` unknown, required
  - `sessionId` string, required
  - `tempId` string, required
  - `versionId` string, required
  - `canonicalUrl` string, uri, required
  - `status` 'ready', required
  - `expiresAt` string, date-time, nullable, required
  - `ownershipState` 'anonymous' | 'claimed'
  - `updateToken` string
  - `claimToken` string
  - `claimLink` string, uri

## Other responses

- `409`: Request conflicts with current state
- `410`: Resource expired or recovery window closed
- `422`: Invalid request

---

[API](https://skmtc.dev/temp-md/apis/temp-md-public-api.md) - [All operations](https://skmtc.dev/temp-md/apis/temp-md-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/temp-md/apis/temp-md-public-api/revisions/4753682e1e3a?raw)
