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

# Start or reuse a private verifier generation

`POST /experimental/orgs/{orgId}/verifier-generations`

## Request

- Base URL: `https://api.tessl.io`
- URL: `https://api.tessl.io/experimental/orgs/{orgId}/verifier-generations`
- Auth: none declared

Starts, joins, or retries verifier generation from one explicit UTF-8 Markdown instruction file or one tar.gz skill bundle 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-10-09** `ac0136c0cdb4`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/tessl/apis/tessl-api/changes/experimental/orgs/:orgId/verifier-generations/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/7386f1e6295b?raw)
