---
title: "Create an immutable saved Script version from a matching test receipt"
method: POST
path: "/v1/codemode-scripts/{configObjectId}/versions"
tags: ["Codemode Runs"]
---

# Create an immutable saved Script version from a matching test receipt

`POST /v1/codemode-scripts/{configObjectId}/versions`

## Path parameters

- `configObjectId` string, required

## Request body

- object
  - `name` string, required
  - `description` string
  - `code` string, required
  - `exampleInput` unknown
  - `inputSchema` unknown
  - `outputSchema` unknown
  - `requiredCapabilities` object[], required
    - `capabilityName` string, required
    - `scriptPath` string, required
  - `receiptId` string, required

## Response `201`

Script version created.

- object
  - `pluginId` string, required
  - `configObjectId` string, required
  - `title` string, required
  - `description` string, nullable, required
  - `canManage` boolean, required
  - `currentVersion` object, required
    - `id` string, required
    - `code` string, required
    - `inputSchema` unknown, required
    - `outputSchema` unknown, required
    - `requiredCapabilities` object[], required
      - `capabilityName` string, required
      - `scriptPath` string, required
    - `codeDigest` string, required
    - `inputSchemaDigest` string, nullable, required
    - `outputSchemaDigest` string, nullable, required
    - `createdAt` string, date-time, required
    - `automationReferences` object[], required
      - `id` string, required
      - `name` string, required
      - `state` 'active' | 'inactive' | 'needs_attention' | 'archived', required
      - `configObjectVersionId` string, required
      - `input` unknown
  - `versions` object[], required
    - `id` string, required
    - `code` string, required
    - `inputSchema` unknown, required
    - `outputSchema` unknown, required
    - `requiredCapabilities` object[], required
      - `capabilityName` string, required
      - `scriptPath` string, required
    - `codeDigest` string, required
    - `inputSchemaDigest` string, nullable, required
    - `outputSchemaDigest` string, nullable, required
    - `createdAt` string, date-time, required
    - `automationReferences` object[], required
      - `id` string, required
      - `name` string, required
      - `state` 'active' | 'inactive' | 'needs_attention' | 'archived', required
      - `configObjectVersionId` string, required
      - `input` unknown
  - `latestSnapshot` object, nullable, required
    - `receiptId` string, required
    - `pluginId` string, required
    - `configObjectId` string, required
    - `configObjectVersionId` string, required
    - `automationRunId` string, nullable, required
    - `value` unknown, required
    - `markdown` string, nullable, required
    - `codeDigest` string, required
    - `resultDigest` string, nullable, required
    - `inputSchemaDigest` string, nullable, required
    - `outputSchemaDigest` string, nullable, required
    - `rendererVersion` 'codemode-markdown-v1', nullable, required
    - `status` 'succeeded' | 'failed', required
    - `errorKind` string, nullable, required
    - `errorMessage` string, nullable, required
    - `source` 'manual' | 'scheduled', required
    - `startedAt` string, date-time, required
    - `finishedAt` string, date-time, required
    - `contentDeletedAt` string, date-time, nullable, required
  - `latestSuccessfulSnapshot` object, nullable, required
    - `receiptId` string, required
    - `pluginId` string, required
    - `configObjectId` string, required
    - `configObjectVersionId` string, required
    - `automationRunId` string, nullable, required
    - `value` unknown, required
    - `markdown` string, nullable, required
    - `codeDigest` string, required
    - `resultDigest` string, nullable, required
    - `inputSchemaDigest` string, nullable, required
    - `outputSchemaDigest` string, nullable, required
    - `rendererVersion` 'codemode-markdown-v1', nullable, required
    - `status` 'succeeded' | 'failed', required
    - `errorKind` string, nullable, required
    - `errorMessage` string, nullable, required
    - `source` 'manual' | 'scheduled', required
    - `startedAt` string, date-time, required
    - `finishedAt` string, date-time, required
    - `contentDeletedAt` string, date-time, nullable, required
  - `freshness` union, required
    - object
      - `state` 'never_run', required
    - object
      - `state` 'fresh', required
      - `ageMs` integer, required
    - object
      - `state` 'stale', required
      - `ageMs` integer, required
      - `maxAgeMs` integer, required
    - object
      - `state` 'needs_attention', required
      - `ageMs` integer, nullable, required
      - `lastSuccessfulReceiptId` string, nullable, required
      - `reason` string, required

## Other responses

- `400` — Version rejected.

---

[API](https://skmtc.net/openworklabs/apis/den-api.md) · [All operations](https://skmtc.net/openworklabs/apis/den-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/openworklabs/den-api/revisions/0d4ebf20cbde/schema)
