---
title: "Start or reuse a private verifier derivation run"
method: POST
path: "/experimental/orgs/{orgId}/verifier-derivation-runs"
tags: ["Context"]
---

# Start or reuse a private verifier derivation run

`POST /experimental/orgs/{orgId}/verifier-derivation-runs`

Snapshots one explicit UTF-8 Markdown instruction file or one tar.gz skill bundle and starts, joins, or retries verifier derivation for the URL org. Skill bundles contain SKILL.md at archive root plus optional references/, scripts/, and assets/ files. Unsafe paths, invalid archives, unsupported content, and inputs over the published limits are rejected. Identical uploaded bytes and input type reuse the same org-owned run; expectedFilename is metadata and does not change run identity.

## Path parameters

- `orgId` string, uuid, required

## Headers

- `Authorization` string

## Request body

- union
  - object
    - `inputType` union, required — The kind of Markdown context being submitted.
      - 'skill'
      - 'agent-docs'
      - 'instructions'
    - `expectedFilename` string, required — The Markdown filename. Skills require SKILL.md; agent docs require AGENTS.md or CLAUDE.md.
    - `content` string, required — The complete UTF-8 Markdown file contents.
  - object
    - `inputType` union, required — The kind of context being submitted.
      - 'skill'
      - 'agent-docs'
      - 'instructions'
    - `expectedFilename` string, required — The selected root filename. Skill bundles require SKILL.md.
    - `bundle` object, required
      - `format` 'tar.gz', required
      - `encoding` 'base64', required
      - `content` string, required — Base64-encoded tar.gz bytes using the documented skill bundle layout.

## Response `200`

Default Response

- union
  - object
    - `data` object, required
      - `runId` string, uuid, required
      - `continuation` string, required
      - `startedAt` string, date-time, nullable, required
      - `status` 'complete', required
      - `error` string, nullable, required
      - `completedAt` string, date-time, nullable, required
      - `digest` string, required
      - `verifiers` object[], required
        - `name` string, required
        - `instruction` string, required
        - `relevant_when` string, required
        - `context` string, required
        - `scope` union, required
          - 'file'
          - 'paths'
          - 'diff'
        - `scope_reason` string, required
        - `checklist` object[], required
          - `name` string, required
          - `rule` string, required
          - `relevant_when` string
        - `content` object
          - `containsAny` string[]
          - `containsAll` string[]
          - `regexAny` string[]
          - `regexAll` string[]
          - `notContainsAny` string[]
          - `notRegexAny` string[]
        - `references` object[]
          - `type` union
            - 'file'
            - 'user'
          - `filename` string
          - `file` string
          - `title` string
          - `line_no` integer
          - `note` string
        - `project_when` object
        - `covered_by` object[]
          - `type` union, required
            - 'lint'
            - 'test'
            - 'other'
          - `target` string, required
          - `hash` string, required
          - `verifier_fingerprint` string, required
          - `note` string
  - object
    - `data` object, required
      - `runId` string, uuid, required
      - `continuation` string, required
      - `startedAt` string, date-time, nullable, required
      - `status` 'failed', required
      - `error` string, nullable, required
      - `completedAt` string, date-time, nullable, required
      - `digest` unknown, required
      - `verifiers` unknown, required
  - object
    - `data` object, required
      - `runId` string, uuid, required
      - `continuation` string, required
      - `startedAt` string, date-time, nullable, required
      - `status` union, required
        - 'pending'
        - 'running'
      - `error` unknown, required
      - `completedAt` unknown, required
      - `digest` unknown, required
      - `verifiers` unknown, required

## Other responses

- `201` — Default Response
- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `413` — Payload Too Large
- `500` — Internal Server Error

## Changes

- **2026-09-15** `d50a02b79ad3` — 1 breaking, 3 warning, 3 info
  - the request's body type changed from `object` to no type
  - removed the request property `content`
  - removed the request property `expectedFilename`
  - removed the request property `inputType`
  - …3 more
- **2026-09-15** `050f3217cf2c` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/tessl/apis/tessl-api/changes/experimental/orgs/:orgId/verifier-derivation-runs/post.md)

---

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