---
title: "Create Version"
method: POST
path: "/workspaces/{wid}/saved-schemas/{sid}/versions"
tags: ["saved-schemas"]
---

# Create Version

`POST /workspaces/{wid}/saved-schemas/{sid}/versions`

## Request

- Base URL: `https://app.linerecon.com` (the document declares no server; this is the origin it was published from)
- URL: `https://app.linerecon.com/workspaces/{wid}/saved-schemas/{sid}/versions`
- Auth: none declared

## Path parameters

- `wid` string, uuid, required
- `sid` string, uuid, required

## Request body

- union
  - NewSavedVersion
    - `request_id` string, uuid, required
    - `batch_id` string, uuid, required
    - `schema_revision` integer, required
    - `comparison_version_id` string, uuid, required
    - `include_comparison_rules` boolean
    - `include_matching_policy` boolean
    - `base_version` integer, required
  - EditedSavedVersion: B11: the next version written on the Templates page from an existing one. The content is the whole version (fields, rules, matching keys, review requirement); nothing is merged.
    - `request_id` string, uuid, required
    - `base_version` integer, required
    - `based_on_version_id` string, uuid, required
    - `fields` SchemaField[], required
      - `id` string, uuid, required
      - `name` string, required
      - `description` string, required
      - `type` 'text' | 'identifier' | 'number' | 'money' | 'date', required
      - `scope` 'document' | 'record' | 'line_item'
      - `comparison_enabled` boolean
    - `comparison_rules` object, nullable
    - `matching_policy` Policy
      - `identity_fields` string[], required
      - `scope_fields` string[], required
      - `conflict_fields` string[]
    - `review_mode` 'standard' | 'strict', required

## Response `201`

Successful Response

- SavedVersion
  - `review_mode` 'standard' | 'strict', required
  - `matching_policy` Policy
    - `identity_fields` string[], required
    - `scope_fields` string[], required
    - `conflict_fields` string[]
  - `id` string, uuid, required
  - `schema_id` string, uuid, required
  - `version` integer, required
  - `name` string, required
  - `fields` SchemaField[], required
    - `id` string, uuid, required
    - `name` string, required
    - `description` string, required
    - `type` 'text' | 'identifier' | 'number' | 'money' | 'date', required
    - `scope` 'document' | 'record' | 'line_item'
    - `comparison_enabled` boolean
  - `comparison_rules` object, nullable, required
  - `created_by` string, uuid, nullable, required
  - `created_at` string, date-time, required
  - `based_on_version_id` string, uuid, nullable

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `413`: Content Too Large
- `422`: Unprocessable Content
- `429`: Too Many Requests
- `503`: Service Unavailable

---

[API](https://skmtc.dev/linerecon/apis/linerecon-api.md) · [All operations](https://skmtc.dev/linerecon/apis/linerecon-api/llms.txt) · [OpenAPI document](https://skmtc.dev/linerecon/apis/linerecon-api/revisions/0650f53a4249?raw)
