---
title: "Write Back Sot"
method: POST
path: "/api/v2/deals/{deal_id}/sot/write-back"
tags: ["api-v2-sot-write-back"]
---

# Write Back Sot

`POST /api/v2/deals/{deal_id}/sot/write-back`

## Request

- Base URL: `https://api.lev.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.lev.com/api/v2/deals/{deal_id}/sot/write-back`
- Auth: none declared

## Path parameters

- `deal_id` integer, required

## Request body

- SotWriteBackRequest
  - `selection_run_id` string, uuid, required
  - `selection_run_version` integer, required
  - `selection_version` string, required
  - `catalog_version` string, required
  - `values` SotWriteValueInput[], required
    - `slot` SotSlotInput, required
      - `field_key` string, required
      - `period_type` 'year' | 'quarter' | 'month' | 't12' | 'ytd' | 'point' | 'none'
      - `period_value` string, nullable
      - `entity_type` 'deal' | 'property' | 'sponsor' | 'broker' | 'comparable' | 'sponsor_contact' | 'sponsor_team' | 'market' | 'contact' | 'company', required
      - `entity_id` integer, required
    - `canonical` SotCanonicalValueInput, required
      - `value` unknown, required
      - `value_type` 'currency' | 'percentage' | 'number' | 'integer' | 'decimal' | 'date' | 'boolean' | 'text' | 'string' | 'enum' | 'picture' | 'table' | 'rich_text' | 'json', required
      - `stated_basis` unknown
      - `canonical_basis` unknown
      - `normalizer_version` string, nullable
    - `provenance` SotProvenanceInput
      - `document_id` string, uuid, required
      - `anchor` object, required
      - `external_document_id` integer, nullable
      - `filename` string, nullable
      - `page` integer, nullable
      - `locator` string, nullable
    - `origin` string, required
    - `legacy_metric_key` string, required

## Response `200`

Successful Response

- SotWriteBackResponse
  - `deal_id` integer, required
  - `selection_run_id` string, uuid, required
  - `selection_run_version` integer, required
  - `applied` integer, required
  - `replayed` integer, required
  - `ignored_older` integer, required
  - `skipped_user_resolved` integer, required
  - `rejected` integer, required
  - `results` SotWriteResultResponse[], required
    - `slot_key` string, required
    - `status` 'applied' | 'replayed' | 'ignored_older' | 'skipped_user_resolved' | 'rejected', required
    - `sot_id` integer, nullable, required
    - `reason` string, nullable

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-22** `003678afeba3`: 1 breaking, 1 warning, 2 info
  - response property `results/items/sot_id` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - added the new `rejected` enum value to the `results/items/status` response property for the response status `200`
  - added the optional property `results/items/reason` to the response with the `200` status
  - added the required property `rejected` to the response with the `200` status
- **2026-10-15** `bf1607c6be7e`: 5 info
  - added the new optional request property `values/items/provenance/anyOf[subschema #1: SotProvenanceInput]/external_document_id`
  - added the new optional request property `values/items/provenance/anyOf[subschema #1: SotProvenanceInput]/filename`
  - added the new optional request property `values/items/provenance/anyOf[subschema #1: SotProvenanceInput]/locator`
  - added the new optional request property `values/items/provenance/anyOf[subschema #1: SotProvenanceInput]/page`
  - …1 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/lev/apis/lev-api/changes/api/v2/deals/:deal_id/sot/write-back/post.md)

---

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