> ## Documentation Index
> Fetch the complete documentation index at: https://docs.platform.toloka.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Replace the pipeline graph

> Send the complete graph, up to 2 MiB, and optionally `expectedVersion`. Returns the updated pipeline metadata. Invalid configuration or missing secrets returns 400; failed checks and lint findings do not block this write. An attached dataset cannot be removed. A stale version, concurrent edit, or active run returns 409; read the graph again before retrying.



## OpenAPI

````yaml /api-reference/openapi.json put /pipelines/{pipelineId}/graph
openapi: 3.1.0
info:
  description: >-
    Manage projects, datasets, labeling pipelines, and model training. **Beta:**
    endpoints, request and response shapes, and error contracts can change
    without notice or a backward-compatibility promise.
  title: Toloka Platform API
  version: 2.0.0
servers:
  - url: https://platform.toloka.ai/api/v2-beta
security:
  - apiKeyAuth: []
  - scopedTokenAuth: []
tags:
  - description: The authenticated API key owner.
    name: Account
  - description: A project is the container for pipelines, datasets, and files.
    name: Projects
  - description: Rows and typed fields. Field schemas are immutable once created.
    name: Datasets
  - description: Append rows to a dataset from a file.
    name: Dataset uploads
  - description: Read a dataset out as a file.
    name: Dataset exports
  - description: A pipeline is a graph of nodes that processes each dataset item.
    name: Pipelines
  - description: The nodes, connections, fields, and version of a pipeline graph.
    name: Pipeline graph
  - description: Execute a pipeline over a dataset and inspect each item.
    name: Runs
  - description: >-
      Only for teams with customer review enabled. Customer review of generation
      tasks: the team accepts or rejects every task of a node that uses customer
      review.
    name: Reviews
  - description: Per-node checks that a pipeline must pass before deployment.
    name: Checks
  - description: Named credentials available to pipeline code.
    name: Secrets
  - description: Project files available to pipeline code and labeling interfaces.
    name: Files
  - description: >-
      Global, read-only catalog of the models a synthetic generation node can
      use, with their budget bounds.
    name: Generation models
  - description: >-
      Global, read-only catalog of the expert audience: the values a node
      `audience` filter can use.
    name: Audience
  - description: Project lists of experts a node can take its workforce from.
    name: Expert lists
  - description: >-
      Experts banned in a project: they cannot be invited and are removed from
      the work they are in. Available only to teams with expert lists enabled.
    name: Expert ban list
  - description: Global, read-only base model catalog.
    name: Base models
  - description: Project-owned mutable model-training drafts.
    name: Trainings
  - description: Project-owned Models and immutable Model Versions.
    name: Models
  - name: Batch inference
paths:
  /pipelines/{pipelineId}/graph:
    put:
      tags:
        - Pipeline graph
      summary: Replace the pipeline graph
      description: >-
        Send the complete graph, up to 2 MiB, and optionally `expectedVersion`.
        Returns the updated pipeline metadata. Invalid configuration or missing
        secrets returns 400; failed checks and lint findings do not block this
        write. An attached dataset cannot be removed. A stale version,
        concurrent edit, or active run returns 409; read the graph again before
        retrying.
      operationId: replacePipelineGraph
      parameters:
        - in: path
          name: pipelineId
          required: true
          schema:
            $ref: '#/components/schemas/PipelineId'
      requestBody:
        content:
          application/json:
            schema:
              properties:
                expectedVersion:
                  $ref: '#/components/schemas/PipelineGraphVersion'
                graph:
                  $ref: '#/components/schemas/PipelineGraphV1'
                  description: >-
                    Complete pipeline graph in version 1 of the public graph
                    format.
              required:
                - graph
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pipeline'
          description: Pipeline graph replaced
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/RateLimit-Limit'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            RateLimit-Remaining:
              $ref: '#/components/headers/RateLimit-Remaining'
            RateLimit-Reset:
              $ref: '#/components/headers/RateLimit-Reset'
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
        '400':
          description: Pipeline graph is too large, invalid, or references missing secrets
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/RateLimit-Limit'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            RateLimit-Remaining:
              $ref: '#/components/headers/RateLimit-Remaining'
            RateLimit-Reset:
              $ref: '#/components/headers/RateLimit-Reset'
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
        '404':
          description: Pipeline not found
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/RateLimit-Limit'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            RateLimit-Remaining:
              $ref: '#/components/headers/RateLimit-Remaining'
            RateLimit-Reset:
              $ref: '#/components/headers/RateLimit-Reset'
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
        '409':
          description: >-
            The expected graph version is stale, the graph changed while the
            request was processed, or the pipeline has an active run and cannot
            be changed
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/RateLimit-Limit'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            RateLimit-Remaining:
              $ref: '#/components/headers/RateLimit-Remaining'
            RateLimit-Reset:
              $ref: '#/components/headers/RateLimit-Reset'
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
        '429':
          description: Rate limit exceeded
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/RateLimit-Limit'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            RateLimit-Remaining:
              $ref: '#/components/headers/RateLimit-Remaining'
            RateLimit-Reset:
              $ref: '#/components/headers/RateLimit-Reset'
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
      x-codeSamples:
        - label: TypeScript SDK
          lang: typescript
          source: >
            import assert from "node:assert/strict";

            import { createClient } from "@toloka-platform/sdk";


            const client = createClient({
              baseUrl: "https://platform.toloka.ai",
              apiKey: process.env.TOLOKA_API_KEY!,
            });


            const snapshot = await client.pipelines.getGraph({ pipelineId:
            "pl.019a0000-0000-7000-8000-000000000001" });

            const graph = structuredClone(snapshot.graph);

            const root = graph.nodes.find((node) => node.type === "root");

            assert(root, "The pipeline has no Start node.");

            root.settings.itemLimit = 100;


            const pipeline = await client.pipelines.replaceGraph({
              pipelineId: "pl.019a0000-0000-7000-8000-000000000001",
              graph: graph,
              expectedVersion: snapshot.version
            });

            console.log(pipeline);
components:
  schemas:
    PipelineId:
      description: Pipeline ID with prefix `pl.`.
      pattern: >-
        ^pl\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
      type: string
    PipelineGraphVersion:
      description: >-
        The snapshot version expected to still be active. A stale version is
        rejected with HTTP 409.
      pattern: >-
        ^ple\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
      type: string
    PipelineGraphV1:
      additionalProperties: false
      properties:
        connections:
          description: Directed connections between node handles.
          items:
            additionalProperties: false
            description: One directed connection.
            properties:
              from:
                additionalProperties: false
                description: Node and handle at one end of a connection.
                properties:
                  handle:
                    description: Input or output handle identifier on that node.
                    pattern: ^(?!(?:__proto__|constructor|prototype)$).+$
                    type: string
                  node:
                    description: Node identifier from `graph.nodes`.
                    pattern: ^(?!(?:__proto__|constructor|prototype)$).+$
                    type: string
                required:
                  - node
                  - handle
                type: object
              settings:
                additionalProperties: {}
                description: >-
                  Connection settings; use an empty object for a normal
                  connection.
                properties: {}
                type: object
              to:
                additionalProperties: false
                description: Node and handle at one end of a connection.
                properties:
                  handle:
                    description: Input or output handle identifier on that node.
                    pattern: ^(?!(?:__proto__|constructor|prototype)$).+$
                    type: string
                  node:
                    description: Node identifier from `graph.nodes`.
                    pattern: ^(?!(?:__proto__|constructor|prototype)$).+$
                    type: string
                required:
                  - node
                  - handle
                type: object
            required:
              - from
              - to
              - settings
            type: object
          maxItems: 2000
          type: array
        fields:
          description: Fields used by the pipeline, with names and JSON Schemas.
          items:
            additionalProperties: false
            description: One pipeline field.
            properties:
              id:
                description: Caller-defined field identifier, unique within the graph.
                pattern: ^(?!(?:__proto__|constructor|prototype)$).+$
                type: string
              jsonSchema:
                $ref: '#/components/schemas/JsonSchema'
                description: JSON Schema defining the accepted values for a field.
              name:
                description: Dataset field name bound to this pipeline field.
                type: string
            required:
              - id
              - name
              - jsonSchema
            type: object
          maxItems: 500
          type: array
        layout:
          additionalProperties:
            additionalProperties:
              items: false
              maxItems: 2
              minItems: 2
              prefixItems:
                - description: X
                  type: number
                - description: 'Y'
                  type: number
              type: array
            maxProperties: 2
            propertyNames:
              pattern: ^(?!(?:__proto__|constructor|prototype)$).+$
              type: string
            type: object
          description: >-
            Optional node positions for the visual editor, keyed by node ID and
            block group; each position is an [x, y] pair.
          maxProperties: 500
          propertyNames:
            pattern: ^(?!(?:__proto__|constructor|prototype)$).+$
            type: string
          type: object
        nodes:
          description: Nodes that make up the pipeline.
          items:
            description: One pipeline node.
            oneOf:
              - $ref: '#/components/schemas/RootNode'
              - $ref: '#/components/schemas/CodeNode'
              - $ref: '#/components/schemas/GenerationNode'
              - $ref: '#/components/schemas/MatchNode'
              - $ref: '#/components/schemas/QuorumNode'
          maxItems: 500
          type: array
        version:
          const: 1
          description: Graph format version; always 1.
          type: number
      required:
        - version
        - fields
        - nodes
        - connections
      type: object
    Pipeline:
      description: A pipeline within a project.
      properties:
        createdAt:
          description: Time the pipeline was created, as an ISO 8601 timestamp.
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
          type: string
        id:
          $ref: '#/components/schemas/PipelineId'
        name:
          description: Name of the pipeline.
          type: string
        projectId:
          $ref: '#/components/schemas/ProjectId'
        updatedAt:
          description: Time the pipeline was last updated, as an ISO 8601 timestamp.
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
          type: string
        version:
          description: >-
            Pipeline version number; copying a pipeline increments the source
            version.
          type: number
      required:
        - id
        - projectId
        - name
        - version
        - createdAt
        - updatedAt
      type: object
    JsonSchema:
      additionalProperties: false
      description: JSON Schema defining the accepted values for a field.
      properties:
        additionalProperties:
          anyOf:
            - description: >-
                Whether extra object properties are allowed, or the schema they
                must satisfy; omitted means allowed.
              type: boolean
            - $ref: '#/components/schemas/JsonSchema'
              description: >-
                Whether extra object properties are allowed, or the schema they
                must satisfy; omitted means allowed.
          description: >-
            Whether extra object properties are allowed, or the schema they must
            satisfy; omitted means allowed.
        allOf:
          description: Combined schemas; a value must satisfy every schema when supplied.
          items:
            $ref: '#/components/schemas/JsonSchema'
            description: JSON Schema defining the accepted values for a field.
          minItems: 1
          type: array
        anyOf:
          description: >-
            Alternative schemas; a value must satisfy at least one when
            supplied.
          items:
            $ref: '#/components/schemas/JsonSchema'
            description: JSON Schema defining the accepted values for a field.
          minItems: 1
          type: array
        const:
          $ref: '#/components/schemas/JsonValue'
          description: Single required JSON value; omit when no exact value is required.
        default:
          $ref: '#/components/schemas/JsonValue'
          description: Suggested default JSON value; omit when none is specified.
        description:
          description: Optional explanation of the values accepted by this schema.
          type: string
        enum:
          description: >-
            Allowed JSON values; omit to allow any value satisfying the other
            constraints.
          items:
            $ref: '#/components/schemas/JsonValue'
          minItems: 1
          type: array
        examples:
          description: Example JSON values for this schema; omit when none are supplied.
          items:
            $ref: '#/components/schemas/JsonValue'
          type: array
        exclusiveMaximum:
          description: Exclusive upper bound for a number; omit when none is required.
          type: number
        exclusiveMinimum:
          description: Exclusive lower bound for a number; omit when none is required.
          type: number
        format:
          description: >-
            String format, such as `date-time`, `email`, or `uri`; omit when no
            format is required.
          type: string
        items:
          $ref: '#/components/schemas/JsonSchema'
          description: >-
            Schema that every array item must satisfy; omit to leave items
            unrestricted.
        maxItems:
          description: Maximum number of array items; omit for no upper bound.
          maximum: 9007199254740991
          minimum: 0
          type: integer
        maxLength:
          description: >-
            Maximum string length in Unicode characters; omit for no upper
            bound.
          maximum: 9007199254740991
          minimum: 0
          type: integer
        maximum:
          description: Inclusive upper bound for a number; omit for no upper bound.
          type: number
        minItems:
          description: Minimum number of array items; omit for no lower bound.
          maximum: 9007199254740991
          minimum: 0
          type: integer
        minLength:
          description: >-
            Minimum string length in Unicode characters; omit for no lower
            bound.
          maximum: 9007199254740991
          minimum: 0
          type: integer
        minimum:
          description: Inclusive lower bound for a number; omit for no lower bound.
          type: number
        oneOf:
          description: Alternative schemas; a value must satisfy exactly one when supplied.
          items:
            $ref: '#/components/schemas/JsonSchema'
            description: JSON Schema defining the accepted values for a field.
          minItems: 1
          type: array
        pattern:
          description: >-
            Regular expression a string must match; omit for no pattern
            constraint.
          type: string
        properties:
          $ref: '#/components/schemas/JsonSchemaProperties'
          description: Schemas for named object properties; omit when none are specified.
        required:
          description: >-
            Object property names that must be present; omit when none are
            required.
          items:
            type: string
          type: array
        title:
          description: Optional display title for this schema.
          type: string
        type:
          anyOf:
            - description: Accepted JSON type or types; omit to allow any type.
              enum:
                - string
                - number
                - integer
                - boolean
                - object
                - array
                - 'null'
              type: string
            - description: Accepted JSON type or types; omit to allow any type.
              items:
                enum:
                  - string
                  - number
                  - integer
                  - boolean
                  - object
                  - array
                  - 'null'
                type: string
              minItems: 1
              type: array
          description: Accepted JSON type or types; omit to allow any type.
        uniqueItems:
          description: >-
            Whether array items must be unique; omitted means duplicates are
            allowed.
          type: boolean
      type: object
    RootNode:
      additionalProperties: false
      description: One pipeline node.
      properties:
        id:
          description: Caller-defined node identifier, unique within the graph.
          pattern: ^(?!(?:__proto__|constructor|prototype)$).+$
          type: string
        settings:
          $ref: '#/components/schemas/RootNodeSettings'
        type:
          const: root
          description: >-
            Node type: `root` supplies Start and End, `code` runs Python,
            `generation` creates answers, `match` routes items, and `quorum`
            combines expert answers.
          type: string
      required:
        - id
        - type
        - settings
      type: object
    CodeNode:
      additionalProperties: false
      description: One pipeline node.
      properties:
        id:
          description: Caller-defined node identifier, unique within the graph.
          pattern: ^(?!(?:__proto__|constructor|prototype)$).+$
          type: string
        settings:
          $ref: '#/components/schemas/CodeNodeSettings'
        type:
          const: code
          description: >-
            Node type: `root` supplies Start and End, `code` runs Python,
            `generation` creates answers, `match` routes items, and `quorum`
            combines expert answers.
          type: string
      required:
        - id
        - type
        - settings
      type: object
    GenerationNode:
      additionalProperties: false
      description: One pipeline node.
      properties:
        id:
          description: Caller-defined node identifier, unique within the graph.
          pattern: ^(?!(?:__proto__|constructor|prototype)$).+$
          type: string
        settings:
          $ref: '#/components/schemas/GenerationNodeSettings'
        type:
          const: generation
          description: >-
            Node type: `root` supplies Start and End, `code` runs Python,
            `generation` creates answers, `match` routes items, and `quorum`
            combines expert answers.
          type: string
      required:
        - id
        - type
        - settings
      type: object
    MatchNode:
      additionalProperties: false
      description: One pipeline node.
      properties:
        id:
          description: Caller-defined node identifier, unique within the graph.
          pattern: ^(?!(?:__proto__|constructor|prototype)$).+$
          type: string
        settings:
          $ref: '#/components/schemas/MatchNodeSettings'
        type:
          const: match
          description: >-
            Node type: `root` supplies Start and End, `code` runs Python,
            `generation` creates answers, `match` routes items, and `quorum`
            combines expert answers.
          type: string
      required:
        - id
        - type
        - settings
      type: object
    QuorumNode:
      additionalProperties: false
      description: One pipeline node.
      properties:
        id:
          description: Caller-defined node identifier, unique within the graph.
          pattern: ^(?!(?:__proto__|constructor|prototype)$).+$
          type: string
        settings:
          $ref: '#/components/schemas/QuorumNodeSettings'
        type:
          const: quorum
          description: >-
            Node type: `root` supplies Start and End, `code` runs Python,
            `generation` creates answers, `match` routes items, and `quorum`
            combines expert answers.
          type: string
      required:
        - id
        - type
        - settings
      type: object
    ProjectId:
      description: Project ID with prefix `pp.`.
      pattern: >-
        ^pp\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
      type: string
    JsonValue:
      anyOf:
        - type: string
        - type: number
        - type: boolean
        - type: 'null'
        - items:
            $ref: '#/components/schemas/JsonValue'
          type: array
        - additionalProperties:
            $ref: '#/components/schemas/JsonValue'
          propertyNames:
            type: string
          type: object
    JsonSchemaProperties:
      additionalProperties:
        $ref: '#/components/schemas/JsonSchema'
      propertyNames:
        type: string
      type: object
    RootNodeSettings:
      additionalProperties: false
      description: Configuration for this node type.
      properties:
        completedFieldProxies:
          description: Fields collected by the End node.
          properties:
            input:
              description: Fields written at the pipeline output.
              items:
                additionalProperties: false
                description: Field binding.
                properties:
                  id:
                    description: Field identifier from `graph.fields`.
                    type: string
                  optional:
                    description: Whether this field may be absent when the node executes.
                    type: boolean
                required:
                  - id
                  - optional
                type: object
              type: array
          required:
            - input
          type: object
        datasetId:
          description: >-
            Attached dataset ID with prefix `ds.`; absent before a dataset is
            attached.
          pattern: >-
            ^ds\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
          type: string
        itemFilter:
          additionalProperties: false
          description: >-
            Conditions selecting dataset rows; omitted conditions do not
            restrict the selection.
          properties:
            createdBefore:
              description: >-
                Cutoff for dataset items and field revisions, as an ISO 8601
                timestamp; omit to use the endpoint's cutoff.
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
              type: string
            excludeParts:
              $ref: '#/components/schemas/DatasetSplitPartExclusions'
            fieldSources:
              $ref: '#/components/schemas/DatasetFieldSourceConditions'
            fieldValues:
              $ref: '#/components/schemas/DatasetFieldValueConditions'
            missingRevisionFields:
              description: >-
                Field IDs with prefix `df.` that must have no revision on a
                selected row; defaults to an empty array.
              items:
                pattern: >-
                  ^df\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
                type: string
              type: array
            parts:
              $ref: '#/components/schemas/DatasetSplitPartInclusion'
            slice:
              $ref: '#/components/schemas/DatasetSliceSelection'
          type: object
        itemLimit:
          description: >-
            Maximum number of matching items to process; omit to process every
            matching item.
          exclusiveMinimum: 0
          maximum: 9007199254740991
          type: integer
        startedFieldProxies:
          description: Fields supplied by the Start node.
          properties:
            output:
              description: Dataset fields read at the pipeline input.
              items:
                additionalProperties: false
                description: Field binding.
                properties:
                  id:
                    description: Field identifier from `graph.fields`.
                    type: string
                  optional:
                    description: Whether this field may be absent when the node executes.
                    type: boolean
                required:
                  - id
                  - optional
                type: object
              type: array
          required:
            - output
          type: object
      required:
        - startedFieldProxies
        - completedFieldProxies
      type: object
    CodeNodeSettings:
      additionalProperties: false
      description: Configuration for this node type.
      properties:
        about:
          $ref: '#/components/schemas/NodeAbout'
        checks:
          additionalProperties:
            $ref: '#/components/schemas/CheckTestCases'
          description: >-
            Configured test inputs grouped by check type; absent when no tests
            are configured.
          propertyNames:
            enum:
              - code
            type: string
          type: object
        code:
          additionalProperties: false
          description: Code executed by this node.
          properties:
            code:
              description: Python source code for the node.
              type: string
          required:
            - code
          type: object
        envVars:
          default: []
          description: >-
            Environment variables available to the node code; defaults to an
            empty array.
          items:
            description: One environment variable for node code.
            oneOf:
              - additionalProperties: false
                description: One environment variable for node code.
                properties:
                  name:
                    description: Environment variable name available to the node code.
                    type: string
                  type:
                    const: static
                    description: >-
                      Value source: `static` uses the supplied value; `secret`
                      reads a named project secret.
                    type: string
                  value:
                    description: Literal value for a static environment variable.
                    type: string
                required:
                  - type
                  - name
                  - value
                type: object
              - additionalProperties: false
                description: One environment variable for node code.
                properties:
                  name:
                    description: Environment variable name available to the node code.
                    type: string
                  secretName:
                    description: >-
                      Name of the project secret supplying this environment
                      variable.
                    type: string
                  type:
                    const: secret
                    description: >-
                      Value source: `static` uses the supplied value; `secret`
                      reads a named project secret.
                    type: string
                required:
                  - type
                  - name
                  - secretName
                type: object
          type: array
        fieldProxies:
          description: Input and output field bindings for the node.
          properties:
            input:
              description: Fields available to this node as input.
              items:
                additionalProperties: false
                description: Field binding.
                properties:
                  id:
                    description: Field identifier from `graph.fields`.
                    type: string
                  optional:
                    description: Whether this field may be absent when the node executes.
                    type: boolean
                required:
                  - id
                  - optional
                type: object
              type: array
            output:
              description: Fields this node produces.
              items:
                additionalProperties: false
                description: Field binding.
                properties:
                  id:
                    description: Field identifier from `graph.fields`.
                    type: string
                  optional:
                    description: Whether this field may be absent when the node executes.
                    type: boolean
                required:
                  - id
                  - optional
                type: object
              type: array
          required:
            - input
            - output
          type: object
      required:
        - about
        - fieldProxies
        - code
      type: object
    GenerationNodeSettings:
      additionalProperties: false
      description: Configuration for this node type.
      properties:
        about:
          $ref: '#/components/schemas/NodeAbout'
        audienceAndPricing:
          description: Who completes tasks and how attempts are priced.
          oneOf:
            - $ref: '#/components/schemas/HumanAudienceAndPricing'
            - additionalProperties: false
              description: Who completes tasks and how attempts are priced.
              properties:
                audienceType:
                  const: synthetic
                  description: >-
                    Task performer: `human` for experts or `synthetic` for
                    model-generated answers.
                  type: string
                generationModelId:
                  default: gpt-5.6-terra
                  description: Generation model ID from the generation-models endpoint.
                  enum:
                    - gpt-5.4
                    - gpt-5.4-mini
                    - claude-sonnet-4-6
                    - gemini-3.1-pro-preview
                    - gemini-3.5-flash
                    - gemini-3.7-flash
                    - claude-sonnet-5
                    - claude-opus-5
                    - claude-fable-5
                    - gpt-5.6-terra
                    - gpt-5.6-luna
                    - gpt-5.6-sol
                  type: string
                llmInstruction:
                  default: ''
                  description: >-
                    Instruction supplied to the generation model; defaults to an
                    empty string.
                  type: string
                maxCostPerAttempt:
                  description: Maximum spend for one generation attempt, in US dollars.
                  type: number
                reasoningEffort:
                  description: >-
                    Reasoning effort for models that support it; omit to use the
                    model default.
                  enum:
                    - low
                    - medium
                    - high
                  type: string
              required:
                - audienceType
                - maxCostPerAttempt
              type: object
        checks:
          additionalProperties:
            $ref: '#/components/schemas/CheckTestCases'
          description: >-
            Configured test inputs grouped by check type; absent when no tests
            are configured.
          propertyNames:
            enum:
              - ui
              - llmqa
              - annotation_qa
              - qc_lint
              - ui_types_lint
              - exam_dataset
              - synthgen
            type: string
          type: object
        entities:
          $ref: '#/components/schemas/TaskEntities'
        exam:
          $ref: '#/components/schemas/QualificationExam'
        instruction:
          description: Task instructions shown to experts.
          type: string
        onboarding:
          $ref: '#/components/schemas/Onboarding'
        publicName:
          description: Task name shown to experts.
          type: string
        qualityAssurance:
          description: How answers are checked for quality.
          oneOf:
            - description: How answers are checked for quality.
              properties:
                llmQaModelId:
                  default: gpt-5.6-terra
                  description: Model identifier for LLM quality checks.
                  enum:
                    - gpt-5.6-terra
                    - gpt-5.6-luna
                    - gpt-5.4
                    - gpt-5.4-mini
                    - gpt-5
                    - gpt-5-mini
                    - claude-sonnet-4-6
                  type: string
                qaMode:
                  const: llm_only
                  description: >-
                    Review mode: `llm_only` uses LLM checks, `human_only` uses
                    human review, and `hybrid` combines them.
                  type: string
              required:
                - qaMode
              type: object
            - additionalProperties: false
              description: How answers are checked for quality.
              properties:
                expertListCondition:
                  anyOf:
                    - $ref: '#/components/schemas/ExpertListCondition'
                    - type: 'null'
                  description: >-
                    The expert lists the node takes its experts from: experts in
                    any of the `list_in` lists, but not in any of the `list_nin`
                    lists. One list is `{ operator: "list_in", expertListId }`
                    with an `exl.` id; several are `{ logic: "or", predicates:
                    [list_in…] }`; excluding lists wraps that in `{ logic:
                    "and", predicates: [<the list_in part>, { operator:
                    "list_nin", expertListId }…] }`. Other combinations
                    (intersections, nested exclusions) are rejected. The
                    platform stores the condition in canonical form (groups
                    flattened, predicates deduplicated and sorted). Not
                    available to teams on the older team ban list. `null`
                    detaches the lists. Omitted when no lists are attached.
                humanQaTimeForTask:
                  description: >-
                    Expected human review time per task in seconds; absent when
                    not specified.
                  exclusiveMinimum: 0
                  type: number
                qaMode:
                  const: human_only
                  description: >-
                    Review mode: `llm_only` uses LLM checks, `human_only` uses
                    human review, and `hybrid` combines them.
                  type: string
                smartSamplingPercent:
                  default: 100
                  description: >-
                    Percentage of answers sampled for human review, from 10 to
                    100; defaults to 100 for human-only review and 30 for hybrid
                    review.
                  maximum: 100
                  minimum: 10
                  type: number
              required:
                - qaMode
              type: object
            - additionalProperties: false
              description: How answers are checked for quality.
              properties:
                expertListCondition:
                  anyOf:
                    - $ref: '#/components/schemas/ExpertListCondition'
                    - type: 'null'
                  description: >-
                    The expert lists the node takes its experts from: experts in
                    any of the `list_in` lists, but not in any of the `list_nin`
                    lists. One list is `{ operator: "list_in", expertListId }`
                    with an `exl.` id; several are `{ logic: "or", predicates:
                    [list_in…] }`; excluding lists wraps that in `{ logic:
                    "and", predicates: [<the list_in part>, { operator:
                    "list_nin", expertListId }…] }`. Other combinations
                    (intersections, nested exclusions) are rejected. The
                    platform stores the condition in canonical form (groups
                    flattened, predicates deduplicated and sorted). Not
                    available to teams on the older team ban list. `null`
                    detaches the lists. Omitted when no lists are attached.
                humanQaTimeForTask:
                  description: >-
                    Expected human review time per task in seconds; absent when
                    not specified.
                  exclusiveMinimum: 0
                  type: number
                llmQaModelId:
                  default: gpt-5.6-terra
                  description: Model identifier for LLM quality checks.
                  enum:
                    - gpt-5.6-terra
                    - gpt-5.6-luna
                    - gpt-5.4
                    - gpt-5.4-mini
                    - gpt-5
                    - gpt-5-mini
                    - claude-sonnet-4-6
                  type: string
                qaMode:
                  const: hybrid
                  description: >-
                    Review mode: `llm_only` uses LLM checks, `human_only` uses
                    human review, and `hybrid` combines them.
                  type: string
                smartSamplingPercent:
                  default: 30
                  description: >-
                    Percentage of answers sampled for human review, from 10 to
                    100; defaults to 100 for human-only review and 30 for hybrid
                    review.
                  maximum: 100
                  minimum: 10
                  type: number
              required:
                - qaMode
              type: object
            - additionalProperties: false
              description: How answers are checked for quality.
              properties:
                qaMode:
                  const: customer_review
                  description: >-
                    Review mode: `customer_review` has your team accept or
                    reject every task of the node; an LLM QA check verifies the
                    evidence of each reject. Only for teams with customer review
                    enabled.
                  type: string
              required:
                - qaMode
              type: object
        qualityCriteria:
          $ref: '#/components/schemas/QualityCriteria'
        reuseAudienceWithNodeId:
          anyOf:
            - additionalProperties: false
              description: >-
                Node whose expert audience is reused, or null when no audience
                is reused.
              properties:
                nodeId:
                  description: Node ID whose qualified experts are reused.
                  type: string
                pipelineId:
                  description: >-
                    Pipeline ID with prefix `pl.` containing the source
                    audience.
                  pattern: >-
                    ^pl\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
                  type: string
              required:
                - pipelineId
                - nodeId
              type: object
            - description: >-
                Node whose expert audience is reused, or null when no audience
                is reused.
              type: 'null'
          description: >-
            Node whose expert audience is reused, or null when no audience is
            reused.
        smartSearch:
          $ref: '#/components/schemas/SmartSearch'
        ui:
          $ref: '#/components/schemas/LabelingInterface'
      required:
        - about
        - publicName
        - entities
        - qualityCriteria
        - instruction
        - ui
        - onboarding
      type: object
    MatchNodeSettings:
      additionalProperties: false
      description: Configuration for this node type.
      properties:
        about:
          $ref: '#/components/schemas/NodeAbout'
        conditions:
          description: Routing conditions evaluated in order.
          items:
            additionalProperties: false
            description: One routing condition.
            properties:
              logic:
                default: and
                description: >-
                  How predicates combine: `and` requires all to match; `or`
                  requires at least one; defaults to `and`.
                enum:
                  - and
                  - or
                type: string
              name:
                description: Display name of the condition.
                type: string
              predicates:
                description: Predicates used by this routing condition.
                items:
                  additionalProperties: false
                  description: Condition applied to a field value.
                  properties:
                    fieldProxyId:
                      description: Identifier of the field whose value is compared.
                      type: string
                    jsonPath:
                      description: JSONPath locating the value within the field.
                      type: string
                    operator:
                      description: >-
                        Text comparison: `text_eq` for equality or `text_neq`
                        for inequality.
                      enum:
                        - text_eq
                        - text_neq
                      type: string
                    value:
                      description: >-
                        Scalar value compared as text; null is treated as an
                        empty string.
                      type:
                        - string
                        - number
                        - boolean
                        - 'null'
                  required:
                    - fieldProxyId
                    - jsonPath
                    - operator
                    - value
                  type: object
                type: array
            required:
              - name
              - predicates
            type: object
          type: array
        fieldProxies:
          description: Input and output field bindings for the node.
          properties:
            input:
              description: Fields available to this node as input.
              items:
                additionalProperties: false
                description: Field binding.
                properties:
                  id:
                    description: Field identifier from `graph.fields`.
                    type: string
                  optional:
                    description: Whether this field may be absent when the node executes.
                    type: boolean
                required:
                  - id
                  - optional
                type: object
              type: array
          required:
            - input
          type: object
      required:
        - about
        - conditions
        - fieldProxies
      type: object
    QuorumNodeSettings:
      additionalProperties: false
      description: Configuration for this node type.
      properties:
        about:
          $ref: '#/components/schemas/NodeAbout'
        audienceAndPricing:
          $ref: '#/components/schemas/HumanAudienceAndPricing'
        checks:
          additionalProperties:
            $ref: '#/components/schemas/CheckTestCases'
          description: >-
            Configured test inputs grouped by check type; absent when no tests
            are configured.
          propertyNames:
            enum:
              - ui
              - llmqa
              - annotation_qa
              - qc_lint
              - ui_types_lint
              - exam_dataset
            type: string
          type: object
        entities:
          $ref: '#/components/schemas/TaskEntities'
        exam:
          $ref: '#/components/schemas/QualificationExam'
        instruction:
          description: Task instructions shown to experts.
          type: string
        offboardingRules:
          default: []
          description: >-
            Rules for excluding experts based on answer quality; defaults to an
            empty array.
          items:
            additionalProperties: false
            description: One expert-exclusion rule.
            properties:
              agreementScale:
                description: >-
                  Field used to measure agreement; absent when no field is
                  selected.
                type: string
              id:
                description: Identifier of the rule, formatted as a UUID.
                format: uuid
                pattern: >-
                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                type: string
              type:
                description: >-
                  Rule type: `mv_agreement` checks agreement with the majority
                  answer; absent for an unspecified rule.
                enum:
                  - mv_agreement
                type: string
            required:
              - id
            type: object
          type: array
        onboarding:
          $ref: '#/components/schemas/Onboarding'
        overlap:
          description: Configured number of independent expert answers per item.
          maximum: 100
          minimum: 1
          type: integer
        publicName:
          description: Task name shown to experts.
          type: string
        qualityAssurance:
          default:
            llmQaModelId: gpt-5.6-terra
            qaMode: llm_only
          description: How answers are checked for quality.
          oneOf:
            - description: How answers are checked for quality.
              properties:
                llmQaModelId:
                  default: gpt-5.6-terra
                  description: Model identifier for LLM quality checks.
                  enum:
                    - gpt-5.6-terra
                    - gpt-5.6-luna
                    - gpt-5.4
                    - gpt-5.4-mini
                    - gpt-5
                    - gpt-5-mini
                    - claude-sonnet-4-6
                  type: string
                qaMode:
                  const: llm_only
                  description: >-
                    Review mode: `llm_only` uses LLM checks, `human_only` uses
                    human review, and `hybrid` combines them.
                  type: string
              required:
                - qaMode
              type: object
            - description: How answers are checked for quality.
              properties:
                qaMode:
                  const: none
                  description: >-
                    Review mode: `llm_only` uses LLM checks, `human_only` uses
                    human review, and `hybrid` combines them.
                  type: string
              required:
                - qaMode
              type: object
        qualityCriteria:
          $ref: '#/components/schemas/QualityCriteria'
        reuseAudienceWithNodeId:
          anyOf:
            - additionalProperties: false
              description: >-
                Node whose expert audience is reused, or null when no audience
                is reused.
              properties:
                nodeId:
                  description: Node ID whose qualified experts are reused.
                  type: string
                pipelineId:
                  description: >-
                    Pipeline ID with prefix `pl.` containing the source
                    audience.
                  pattern: >-
                    ^pl\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
                  type: string
              required:
                - pipelineId
                - nodeId
              type: object
            - description: >-
                Node whose expert audience is reused, or null when no audience
                is reused.
              type: 'null'
          description: >-
            Node whose expert audience is reused, or null when no audience is
            reused.
        smartSearch:
          $ref: '#/components/schemas/SmartSearch'
        ui:
          $ref: '#/components/schemas/LabelingInterface'
      required:
        - about
        - publicName
        - entities
        - qualityCriteria
        - instruction
        - ui
        - overlap
        - onboarding
      type: object
    DatasetSplitPartExclusions:
      description: Split-part selections to exclude; omit when no parts should be excluded.
      items:
        additionalProperties: false
        description: Split field and selected part names.
        properties:
          fieldId:
            description: Split field ID with prefix `df.`.
            pattern: >-
              ^df\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
            type: string
          names:
            description: Names of the split parts to select.
            items:
              maxLength: 64
              pattern: ^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$
              type: string
            maxItems: 10
            minItems: 1
            type: array
        required:
          - fieldId
          - names
        type: object
      maxItems: 500
      type: array
    DatasetFieldSourceConditions:
      description: >-
        Field-author conditions that selected rows must satisfy; defaults to no
        conditions.
      items:
        additionalProperties: false
        description: Required authors for a field.
        properties:
          fieldId:
            description: Dataset field ID with prefix `df.`.
            pattern: >-
              ^df\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
            type: string
          sources:
            description: Revision authors to match for this field.
            items:
              $ref: '#/components/schemas/FieldRevisionSource'
            minItems: 1
            type: array
        required:
          - fieldId
          - sources
        type: object
      type: array
    DatasetFieldValueConditions:
      description: >-
        Field-value conditions that selected rows must satisfy; defaults to no
        conditions.
      items:
        additionalProperties: false
        description: Condition applied to a field value.
        properties:
          fieldId:
            description: Dataset field ID with prefix `df.` to compare.
            pattern: >-
              ^df\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
            type: string
          jsonPath:
            description: JSONPath locating the value within the field.
            minLength: 1
            type: string
          latestOnly:
            default: true
            description: >-
              Whether to test only the latest revision from the allowed authors;
              false tests any revision, and the default is true.
            type: boolean
          operator:
            description: >-
              Text comparison: `text_eq` for equality or `text_neq` for
              inequality.
            enum:
              - text_eq
              - text_neq
            type: string
          sources:
            default: []
            description: Allowed revision authors; an empty array allows any author.
            items:
              $ref: '#/components/schemas/FieldRevisionSource'
            type: array
          value:
            description: Scalar value compared as text; null is treated as an empty string.
            type:
              - string
              - number
              - boolean
              - 'null'
        required:
          - jsonPath
          - operator
          - value
          - fieldId
        type: object
      type: array
    DatasetSplitPartInclusion:
      additionalProperties: false
      description: Split parts to include; omit to include every part.
      properties:
        fieldId:
          description: Split field ID with prefix `df.`.
          pattern: >-
            ^df\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
          type: string
        names:
          description: Names of the split parts to select.
          items:
            maxLength: 64
            pattern: ^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$
            type: string
          maxItems: 10
          minItems: 1
          type: array
      required:
        - fieldId
        - names
      type: object
    DatasetSliceSelection:
      additionalProperties: false
      description: >-
        Slice whose frozen rows and fields to read; omit to use live dataset
        rows.
      properties:
        sliceId:
          description: Dataset slice ID with prefix `dsl.`.
          pattern: >-
            ^dsl\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
          type: string
      required:
        - sliceId
      type: object
    NodeAbout:
      additionalProperties: false
      description: Node name and task context.
      properties:
        description:
          description: Optional explanation of the node's purpose.
          type: string
        name:
          description: Display name of the node.
          type: string
        projectType:
          description: >-
            Task type: `general` for labeling existing data or `data_collection`
            for collecting new data; absent when unspecified.
          enum:
            - general
            - data_collection
          type: string
      required:
        - name
      type: object
    CheckTestCases:
      description: Test cases for this check type.
      items:
        description: One configured check case.
        properties:
          id:
            description: Identifier of the check case.
            type: string
          input:
            anyOf:
              - description: >-
                  Check input as JSON text, or JSON values encoded as strings
                  and keyed by field ID.
                type: string
              - additionalProperties:
                  type: string
                description: >-
                  Check input as JSON text, or JSON values encoded as strings
                  and keyed by field ID.
                propertyNames:
                  type: string
                type: object
            description: >-
              Check input as JSON text, or JSON values encoded as strings and
              keyed by field ID.
          name:
            description: Display name of the check case.
            type: string
        required:
          - id
          - name
          - input
        type: object
      type: array
    HumanAudienceAndPricing:
      additionalProperties: false
      description: Who completes tasks and how attempts are priced.
      properties:
        audience:
          additionalProperties: false
          description: Expert eligibility filters.
          properties:
            countries:
              additionalProperties: false
              description: Eligible expert countries.
              properties:
                type:
                  description: >-
                    Matching rule; `or` accepts experts from any selected
                    country.
                  enum:
                    - or
                  type: string
                values:
                  description: >-
                    Country identifiers to include; an empty array applies no
                    country restriction.
                  items:
                    type: string
                  type: array
              required:
                - type
                - values
              type: object
            languages:
              additionalProperties: false
              description: Required expert languages.
              properties:
                type:
                  description: >-
                    Matching rule: `and` requires all selected languages; `or`
                    requires at least one.
                  enum:
                    - or
                    - and
                  type: string
                values:
                  description: >-
                    Languages to match; an empty array applies no language
                    restriction.
                  items:
                    description: Selected expert language.
                    properties:
                      value:
                        description: Language identifier used by the audience filter.
                        type: string
                    required:
                      - value
                    type: object
                  type: array
              required:
                - type
                - values
              type: object
            specializations:
              additionalProperties: false
              description: Required expert specializations.
              properties:
                type:
                  description: >-
                    Matching rule: `and` requires all selected specializations;
                    `or` requires at least one.
                  enum:
                    - or
                    - and
                  type: string
                values:
                  description: >-
                    Specializations to match; an empty array applies no
                    specialization restriction.
                  items:
                    additionalProperties: false
                    description: Selected expert specialization.
                    properties:
                      qualificationId:
                        description: Qualification ID returned with the specialization.
                        type: string
                      value:
                        description: >-
                          Specialization name returned by the specializations
                          endpoint.
                        type: string
                    required:
                      - value
                      - qualificationId
                    type: object
                  type: array
              required:
                - type
                - values
              type: object
          required:
            - languages
            - specializations
            - countries
          type: object
        audienceType:
          const: human
          description: >-
            Task performer: `human` for experts or `synthetic` for
            model-generated answers.
          type: string
        expertListCondition:
          anyOf:
            - $ref: '#/components/schemas/ExpertListCondition'
            - type: 'null'
          description: >-
            The expert lists the node takes its experts from: experts in any of
            the `list_in` lists, but not in any of the `list_nin` lists. One
            list is `{ operator: "list_in", expertListId }` with an `exl.` id;
            several are `{ logic: "or", predicates: [list_in…] }`; excluding
            lists wraps that in `{ logic: "and", predicates: [<the list_in
            part>, { operator: "list_nin", expertListId }…] }`. Other
            combinations (intersections, nested exclusions) are rejected. The
            platform stores the condition in canonical form (groups flattened,
            predicates deduplicated and sorted). Not available to teams on the
            older team ban list. `null` detaches the lists. Omitted when no
            lists are attached.
        perExpertCapEnabled:
          default: false
          description: >-
            Whether to limit how many tasks each expert may submit; defaults to
            false.
          type: boolean
        perExpertCapValue:
          default: 1
          description: >-
            Maximum tasks per expert when the cap is enabled, from 1 to 50;
            defaults to 1.
          exclusiveMinimum: 0
          maximum: 50
          type: integer
        pricePerTask:
          description: Price per expert task in US dollars.
          type: number
        timeForTask:
          description: Expected task completion time in seconds.
          type: number
        verifiedExperts:
          description: Whether experts must have verified identities.
          type: boolean
      required:
        - verifiedExperts
        - audience
        - pricePerTask
        - timeForTask
        - audienceType
      type: object
    TaskEntities:
      additionalProperties: false
      description: Task input and output entities.
      properties:
        input:
          description: Entities supplied as task input.
          items:
            $ref: '#/components/schemas/TaskEntity'
          type: array
        output:
          description: Entities the expert or model must produce.
          items:
            $ref: '#/components/schemas/TaskEntity'
          type: array
      required:
        - input
        - output
      type: object
    QualificationExam:
      additionalProperties: false
      description: >-
        Qualification exam settings; omitted settings use a disabled one-task
        exam.
      properties:
        enabled:
          description: Whether experts must pass an exam before receiving regular tasks.
          type: boolean
        goldenDatasetId:
          description: >-
            Dataset ID with prefix `ds.` containing reference answers; absent
            when no reference dataset is selected.
          pattern: >-
            ^ds\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
          type: string
        gradedEntities:
          description: Entities and grading rules used in the exam.
          items:
            additionalProperties: false
            description: Grading rule for one entity.
            properties:
              customInstruction:
                description: Instruction for custom reference-answer comparison.
                type: string
              disabledCriterionIds:
                description: UUIDs of quality criteria excluded from exam grading.
                items:
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                  type: string
                type: array
              groundTruthType:
                description: >-
                  Reference comparison: `direct` compares values directly;
                  `custom` uses the supplied instruction.
                enum:
                  - direct
                  - custom
                type: string
              mode:
                description: >-
                  Grading mode: `ground_truth` compares with reference answers,
                  `quality_criteria` applies quality requirements, and
                  `not_graded` excludes the entity from grading.
                enum:
                  - ground_truth
                  - quality_criteria
                  - not_graded
                type: string
              targetEntity:
                description: Field identifier of the entity being graded.
                type: string
            required:
              - targetEntity
              - mode
              - groundTruthType
              - customInstruction
              - disabledCriterionIds
            type: object
          type: array
        passThreshold:
          description: Minimum number of exam tasks an expert must pass.
          maximum: 9007199254740991
          minimum: 0
          type: integer
        tasksPerExpert:
          description: Number of exam tasks each expert receives.
          maximum: 9007199254740991
          minimum: 1
          type: integer
      required:
        - enabled
        - gradedEntities
        - tasksPerExpert
        - passThreshold
      type: object
    Onboarding:
      description: Preparation content experts complete before working on tasks.
      properties:
        enabled:
          description: Whether experts must complete onboarding.
          type: boolean
        info:
          description: Overview of the task for experts.
          properties:
            estimatedTime:
              description: Estimated completion time as display text.
              type: string
            goal:
              description: Goal of the task.
              type: string
            role:
              description: Role the expert takes in the task.
              type: string
            successCriteria:
              description: Requirements for completing the task successfully.
              type: string
          required:
            - estimatedTime
            - role
            - goal
            - successCriteria
          type: object
        steps:
          description: Onboarding steps in display order.
          items:
            description: One onboarding step.
            properties:
              blocks:
                description: >-
                  Content blocks in this step; absent when the step has no
                  blocks.
                items:
                  description: One onboarding content block.
                  oneOf:
                    - description: One onboarding content block.
                      properties:
                        estimatedTime:
                          description: Estimated completion time as display text.
                          type: string
                        goal:
                          description: Goal of the task.
                          type: string
                        id:
                          description: Identifier of the onboarding block.
                          type: string
                        role:
                          description: Role the expert takes in the task.
                          type: string
                        successCriteria:
                          description: Requirements for completing the task successfully.
                          type: string
                        type:
                          const: info
                          description: >-
                            Block kind: `info`, `text`, `consent`, `quiz`,
                            `practice`, or interactive `examples`.
                          type: string
                      required:
                        - id
                        - type
                        - estimatedTime
                        - role
                        - goal
                        - successCriteria
                      type: object
                    - description: One onboarding content block.
                      properties:
                        content:
                          description: >-
                            Markdown content for this block; absent when no
                            content is supplied.
                          items:
                            description: Markdown content fragment.
                            properties:
                              type:
                                const: markdown
                                description: Content format; always `markdown`.
                                type: string
                              value:
                                description: Markdown text to display.
                                type: string
                            required:
                              - type
                              - value
                            type: object
                          type: array
                        id:
                          description: Identifier of the onboarding block.
                          type: string
                        title:
                          description: Optional heading for the block.
                          type: string
                        type:
                          const: text
                          description: >-
                            Block kind: `info`, `text`, `consent`, `quiz`,
                            `practice`, or interactive `examples`.
                          type: string
                      required:
                        - id
                        - type
                      type: object
                    - description: One onboarding content block.
                      properties:
                        content:
                          description: >-
                            Markdown content for this block; absent when no
                            content is supplied.
                          items:
                            description: Markdown content fragment.
                            properties:
                              type:
                                const: markdown
                                description: Content format; always `markdown`.
                                type: string
                              value:
                                description: Markdown text to display.
                                type: string
                            required:
                              - type
                              - value
                            type: object
                          type: array
                        id:
                          description: Identifier of the onboarding block.
                          type: string
                        questions:
                          description: Questions in this quiz block.
                          items:
                            description: Question used to check an expert's understanding.
                            properties:
                              correctAnswer:
                                anyOf:
                                  - description: >-
                                      Correct option value, or an array of
                                      correct values for a multiple-choice
                                      question.
                                    type: string
                                  - description: >-
                                      Correct option value, or an array of
                                      correct values for a multiple-choice
                                      question.
                                    items:
                                      type: string
                                    type: array
                                description: >-
                                  Correct option value, or an array of correct
                                  values for a multiple-choice question.
                              correctAnswerFeedback:
                                description: >-
                                  Feedback shown for a correct answer; absent
                                  when none is configured.
                                type: string
                              hint:
                                description: Optional hint shown with the question.
                                type: string
                              id:
                                description: Identifier of the quiz question.
                                type: string
                              incorrectAnswerFeedback:
                                description: >-
                                  Feedback shown for an incorrect answer; absent
                                  when none is configured.
                                type: string
                              options:
                                description: Answer choices shown to the expert.
                                items:
                                  description: One answer choice.
                                  properties:
                                    label:
                                      description: Text displayed for the answer choice.
                                      type: string
                                    value:
                                      description: Value identifying the answer choice.
                                      type: string
                                  required:
                                    - value
                                    - label
                                  type: object
                                type: array
                              question:
                                description: Question text shown to the expert.
                                type: string
                              title:
                                description: Optional title displayed above the question.
                                type: string
                              type:
                                description: >-
                                  Question type: `single-choice` accepts one
                                  option; `multiple-choice` accepts several.
                                enum:
                                  - single-choice
                                  - multiple-choice
                                type: string
                            required:
                              - id
                              - type
                              - question
                              - options
                              - correctAnswer
                            type: object
                          type: array
                        title:
                          description: Optional heading for the block.
                          type: string
                        type:
                          const: quiz
                          description: >-
                            Block kind: `info`, `text`, `consent`, `quiz`,
                            `practice`, or interactive `examples`.
                          type: string
                      required:
                        - id
                        - type
                        - questions
                      type: object
                    - description: One onboarding content block.
                      properties:
                        content:
                          description: >-
                            Markdown content for this block; absent when no
                            content is supplied.
                          items:
                            description: Markdown content fragment.
                            properties:
                              type:
                                const: markdown
                                description: Content format; always `markdown`.
                                type: string
                              value:
                                description: Markdown text to display.
                                type: string
                            required:
                              - type
                              - value
                            type: object
                          type: array
                        editorConfig:
                          description: Optional settings for the practice-answer editor.
                          properties:
                            language:
                              description: >-
                                Editor language identifier; absent when no
                                language is selected.
                              type: string
                            placeholder:
                              description: >-
                                Placeholder text shown in an empty editor;
                                absent when none is configured.
                              type: string
                            rows:
                              description: >-
                                Number of visible editor rows; absent to use the
                                editor default.
                              type: number
                          type: object
                        editorType:
                          description: Optional practice-answer editor type.
                          type: string
                        id:
                          description: Identifier of the onboarding block.
                          type: string
                        imageUrl:
                          description: >-
                            Optional image URL illustrating the practice
                            exercise.
                          type: string
                        title:
                          description: Optional heading for the block.
                          type: string
                        type:
                          const: practice
                          description: >-
                            Block kind: `info`, `text`, `consent`, `quiz`,
                            `practice`, or interactive `examples`.
                          type: string
                        validators:
                          description: >-
                            Practice-answer validation rules; absent when none
                            are configured.
                          items:
                            description: One practice-answer validation rule.
                            properties:
                              criteria:
                                description: Conditions the practice answer must meet.
                                type: string
                              description:
                                description: Explanation of what this rule checks.
                                type: string
                              id:
                                description: Identifier of this validation rule.
                                type: string
                              name:
                                description: Display name of the validation rule.
                                type: string
                            required:
                              - id
                              - name
                              - description
                              - criteria
                            type: object
                          type: array
                      required:
                        - id
                        - type
                      type: object
                    - description: One onboarding content block.
                      properties:
                        examples:
                          description: Interactive examples in this block.
                          items:
                            description: Interactive example shown during onboarding.
                            properties:
                              checks:
                                description: >-
                                  Checks that evaluate the expert's answer to
                                  this example.
                                items:
                                  description: Check used to grade an onboarding example.
                                  oneOf:
                                    - description: >-
                                        Check used to grade an onboarding
                                        example.
                                      properties:
                                        golden:
                                          $ref: '#/components/schemas/JsonValue'
                                          description: >-
                                            Expected JSON value for an exact check;
                                            null is a valid expected value.
                                        hint:
                                          description: >-
                                            Hint explaining how to satisfy the
                                            check.
                                          type: string
                                        path:
                                          description: Path to the answer value to check.
                                          type: string
                                        type:
                                          const: exact
                                          description: >-
                                            Check type: `exact` compares an expected
                                            value, `code` runs a validation
                                            function, and `llm` assesses the answer
                                            against criteria.
                                          type: string
                                      required:
                                        - type
                                        - path
                                        - golden
                                        - hint
                                      type: object
                                    - description: >-
                                        Check used to grade an onboarding
                                        example.
                                      properties:
                                        code:
                                          description: Validation code used by a code check.
                                          type: string
                                        hint:
                                          description: >-
                                            Hint explaining how to satisfy the
                                            check.
                                          type: string
                                        type:
                                          const: code
                                          description: >-
                                            Check type: `exact` compares an expected
                                            value, `code` runs a validation
                                            function, and `llm` assesses the answer
                                            against criteria.
                                          type: string
                                      required:
                                        - type
                                        - code
                                        - hint
                                      type: object
                                    - description: >-
                                        Check used to grade an onboarding
                                        example.
                                      properties:
                                        criteria:
                                          description: >-
                                            Criteria used to assess the example
                                            answer.
                                          type: string
                                        hint:
                                          description: >-
                                            Hint explaining how to satisfy the
                                            check.
                                          type: string
                                        imageUrl:
                                          description: Optional image URL used by the check.
                                          type: string
                                        paths:
                                          description: Answer paths to assess together.
                                          items:
                                            type: string
                                          type: array
                                        reference:
                                          description: Optional reference answer for the check.
                                          type: string
                                        type:
                                          const: llm
                                          description: >-
                                            Check type: `exact` compares an expected
                                            value, `code` runs a validation
                                            function, and `llm` assesses the answer
                                            against criteria.
                                          type: string
                                      required:
                                        - type
                                        - paths
                                        - criteria
                                      type: object
                                maxItems: 10
                                type: array
                              explanation:
                                description: Optional explanation of the example answer.
                                type: string
                              id:
                                description: Identifier of the example.
                                type: string
                              input:
                                additionalProperties:
                                  $ref: '#/components/schemas/JsonValue'
                                description: Example input values keyed by field name.
                                propertyNames:
                                  type: string
                                type: object
                              sourceItemId:
                                description: >-
                                  Source dataset item ID, when the example was
                                  taken from a dataset; otherwise absent.
                                type: string
                            required:
                              - id
                              - input
                              - checks
                            type: object
                          maxItems: 10
                          type: array
                        id:
                          description: Identifier of the onboarding block.
                          type: string
                        title:
                          description: Optional heading for the block.
                          type: string
                        type:
                          const: examples
                          description: >-
                            Block kind: `info`, `text`, `consent`, `quiz`,
                            `practice`, or interactive `examples`.
                          type: string
                      required:
                        - id
                        - type
                        - examples
                      type: object
                    - description: One onboarding content block.
                      properties:
                        consentLabel:
                          description: Text of the consent option the expert must accept.
                          type: string
                        content:
                          description: >-
                            Markdown content for this block; absent when no
                            content is supplied.
                          items:
                            description: Markdown content fragment.
                            properties:
                              type:
                                const: markdown
                                description: Content format; always `markdown`.
                                type: string
                              value:
                                description: Markdown text to display.
                                type: string
                            required:
                              - type
                              - value
                            type: object
                          type: array
                        id:
                          description: Identifier of the onboarding block.
                          type: string
                        title:
                          description: Optional heading for the block.
                          type: string
                        type:
                          const: consent
                          description: >-
                            Block kind: `info`, `text`, `consent`, `quiz`,
                            `practice`, or interactive `examples`.
                          type: string
                      required:
                        - id
                        - type
                        - consentLabel
                      type: object
                type: array
              id:
                description: Identifier of the onboarding step.
                type: string
            required:
              - id
            type: object
          type: array
      required:
        - enabled
        - steps
        - info
      type: object
    ExpertListCondition:
      anyOf:
        - $ref: '#/components/schemas/ExpertListPredicate'
        - $ref: '#/components/schemas/ExpertListConditionGroup'
    QualityCriteria:
      description: Requirements used to assess the generated answers.
      items:
        description: Quality requirement applied to a task entity.
        properties:
          id:
            description: Unique criterion identifier, formatted as a UUID.
            format: uuid
            pattern: >-
              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
            type: string
          llmQaInstruction:
            description: >-
              Additional instruction for LLM quality checks; absent when none is
              provided.
            maxLength: 5000
            type: string
          qualityElement:
            description: Description of the quality requirement.
            type: string
          targetEntity:
            description: Field identifier of the entity assessed by this criterion.
            type: string
          thresholds:
            description: Conditions for passing or failing this criterion.
            properties:
              fail:
                description: What makes an answer fail this criterion.
                type: string
              pass:
                description: What an acceptable answer must satisfy.
                type: string
            required:
              - pass
              - fail
            type: object
        required:
          - id
          - qualityElement
          - thresholds
          - targetEntity
        type: object
      type: array
    SmartSearch:
      anyOf:
        - additionalProperties: false
          description: >-
            Expert recruitment criteria, or null when no recruitment brief is
            configured.
          properties:
            briefDescription:
              description: Short description of the expert role.
              type: string
            extraHardRequirements:
              description: Mandatory qualifications for candidate experts.
              items:
                type: string
              type: array
            idealCandidateProfile:
              description: Description of an ideal candidate.
              type: string
            projectDescription:
              description: Project context for recruitment, or null when none is supplied.
              type:
                - string
                - 'null'
            relevanceCriteria:
              description: Criteria used to judge whether a candidate fits the task.
              items:
                type: string
              type: array
            sourceFingerprint:
              description: Fingerprint of the source brief; absent when none is recorded.
              type: string
            typicalJobTitles:
              description: Job titles commonly held by suitable experts.
              items:
                type: string
              type: array
            whoIsNotAFit:
              description: Reasons a candidate would be unsuitable.
              items:
                type: string
              type: array
          required:
            - briefDescription
            - projectDescription
            - extraHardRequirements
            - relevanceCriteria
            - typicalJobTitles
            - idealCandidateProfile
            - whoIsNotAFit
          type: object
        - description: >-
            Expert recruitment criteria, or null when no recruitment brief is
            configured.
          type: 'null'
      default: null
      description: >-
        Expert recruitment criteria, or null when no recruitment brief is
        configured.
    LabelingInterface:
      description: Labeling interface and its data transformations.
      properties:
        code:
          description: Source code for the labeling interface.
          type: string
        constants:
          description: >-
            JSON object encoded as a string, containing constants available to
            the interface.
          type: string
        data:
          description: JSON text containing sample data for the interface preview.
          type: string
        postprocess:
          default: return {};
          description: >-
            JavaScript code that transforms submitted interface values; defaults
            to `return {};`.
          type: string
        preprocess:
          description: JavaScript code that prepares input data for the interface.
          type: string
      required:
        - code
        - data
        - preprocess
        - constants
      type: object
    FieldRevisionSource:
      description: Source that wrote a field revision.
      oneOf:
        - additionalProperties: false
          description: Source that wrote a field revision.
          properties:
            type:
              const: user
              description: >-
                Revision author: `user` for a user action or `system` for a
                platform operation.
              type: string
            userId:
              description: Identifier of the user who wrote the revision.
              minLength: 1
              type: string
          required:
            - type
            - userId
          type: object
        - additionalProperties: false
          description: Source that wrote a field revision.
          properties:
            source:
              description: Identifier of the platform operation that wrote the revision.
              minLength: 1
              type: string
            type:
              const: system
              description: >-
                Revision author: `user` for a user action or `system` for a
                platform operation.
              type: string
          required:
            - type
            - source
          type: object
    TaskEntity:
      description: Task entity bound to a pipeline field.
      oneOf:
        - additionalProperties: false
          description: Task entity bound to a pipeline field.
          properties:
            allowedLabels:
              description: >-
                Allowed classification labels; absent for entities without a
                fixed label set.
              items:
                additionalProperties: false
                description: One allowed classification label.
                properties:
                  label:
                    description: Label displayed to the expert.
                    type: string
                  value:
                    description: Value stored for this label in the annotation.
                    type: string
                required:
                  - label
                  - value
                type: object
              type: array
            description:
              description: Explanation of the entity and how it is used in the task.
              type: string
            dynamic:
              const: false
              description: Whether one item can contain multiple instances of this entity.
              type: boolean
            entityType:
              description: >-
                Semantic entity type, such as `PROMPT`, `RESPONSE`,
                `SINGLE_LABEL`, or `VIDEO`.
              type: string
            fieldProxyId:
              description: Identifier of the field containing this entity.
              type: string
            jsonPath:
              description: JSONPath locating entity values within the field.
              type: string
            maxDurationSeconds:
              description: >-
                Maximum expected media duration in seconds; absent when not
                applicable.
              exclusiveMinimum: 0
              type: number
            maxEntities:
              description: >-
                Maximum expected instances of a dynamic entity per item; null or
                absent when no maximum is set.
              type: 'null'
            minDurationSeconds:
              description: >-
                Minimum expected media duration in seconds; absent when no
                minimum is set.
              exclusiveMinimum: 0
              type: number
            optional:
              description: Whether the entity value may be omitted.
              type: boolean
            relations:
              description: >-
                Relations to other entities; omit when the entity has no
                relations.
              items:
                anyOf:
                  - description: Relation to another entity.
                    properties:
                      id:
                        description: Field identifier of the related entity.
                        type: string
                      rel_type:
                        description: >-
                          Relation: `context` supplies context, `references`
                          cites another entity, `depends_on` requires it,
                          `evaluates` assesses it, or `conditional` applies only
                          when a condition matches.
                        enum:
                          - context
                          - references
                          - depends_on
                          - evaluates
                        type: string
                    required:
                      - id
                      - rel_type
                    type: object
                  - description: Relation to another entity.
                    properties:
                      condition:
                        description: >-
                          Condition controlling whether the related entity
                          applies.
                        properties:
                          operator:
                            description: >-
                              Comparison: `EQ` or `NEQ` for equality, `IN` or
                              `NOT_IN` for list membership, or `NOT_EMPTY` for a
                              nonempty value.
                            enum:
                              - EQ
                              - NEQ
                              - IN
                              - NOT_IN
                              - NOT_EMPTY
                            type: string
                          value:
                            anyOf:
                              - description: >-
                                  Value or values to compare with the related
                                  entity.
                                type: string
                              - description: >-
                                  Value or values to compare with the related
                                  entity.
                                items:
                                  type: string
                                type: array
                            description: >-
                              Value or values to compare with the related
                              entity.
                        required:
                          - operator
                          - value
                        type: object
                      id:
                        description: Field identifier of the related entity.
                        type: string
                      rel_type:
                        const: conditional
                        description: >-
                          Relation: `context` supplies context, `references`
                          cites another entity, `depends_on` requires it,
                          `evaluates` assesses it, or `conditional` applies only
                          when a condition matches.
                        type: string
                    required:
                      - id
                      - rel_type
                      - condition
                    type: object
                description: Relation to another entity.
              type: array
          required:
            - fieldProxyId
            - entityType
            - optional
            - jsonPath
            - description
            - dynamic
          type: object
        - additionalProperties: false
          description: Task entity bound to a pipeline field.
          properties:
            allowedLabels:
              description: >-
                Allowed classification labels; absent for entities without a
                fixed label set.
              items:
                additionalProperties: false
                description: One allowed classification label.
                properties:
                  label:
                    description: Label displayed to the expert.
                    type: string
                  value:
                    description: Value stored for this label in the annotation.
                    type: string
                required:
                  - label
                  - value
                type: object
              type: array
            description:
              description: Explanation of the entity and how it is used in the task.
              type: string
            dynamic:
              const: true
              description: Whether one item can contain multiple instances of this entity.
              type: boolean
            entityType:
              description: >-
                Semantic entity type, such as `PROMPT`, `RESPONSE`,
                `SINGLE_LABEL`, or `VIDEO`.
              type: string
            fieldProxyId:
              description: Identifier of the field containing this entity.
              type: string
            jsonPath:
              description: JSONPath locating entity values within the field.
              type: string
            maxDurationSeconds:
              description: >-
                Maximum expected media duration in seconds; absent when not
                applicable.
              exclusiveMinimum: 0
              type: number
            maxEntities:
              description: >-
                Maximum expected instances of a dynamic entity per item; null or
                absent when no maximum is set.
              type:
                - number
                - 'null'
            minDurationSeconds:
              description: >-
                Minimum expected media duration in seconds; absent when no
                minimum is set.
              exclusiveMinimum: 0
              type: number
            optional:
              description: Whether the entity value may be omitted.
              type: boolean
            relations:
              description: >-
                Relations to other entities; omit when the entity has no
                relations.
              items:
                anyOf:
                  - description: Relation to another entity.
                    properties:
                      id:
                        description: Field identifier of the related entity.
                        type: string
                      rel_type:
                        description: >-
                          Relation: `context` supplies context, `references`
                          cites another entity, `depends_on` requires it,
                          `evaluates` assesses it, or `conditional` applies only
                          when a condition matches.
                        enum:
                          - context
                          - references
                          - depends_on
                          - evaluates
                        type: string
                    required:
                      - id
                      - rel_type
                    type: object
                  - description: Relation to another entity.
                    properties:
                      condition:
                        description: >-
                          Condition controlling whether the related entity
                          applies.
                        properties:
                          operator:
                            description: >-
                              Comparison: `EQ` or `NEQ` for equality, `IN` or
                              `NOT_IN` for list membership, or `NOT_EMPTY` for a
                              nonempty value.
                            enum:
                              - EQ
                              - NEQ
                              - IN
                              - NOT_IN
                              - NOT_EMPTY
                            type: string
                          value:
                            anyOf:
                              - description: >-
                                  Value or values to compare with the related
                                  entity.
                                type: string
                              - description: >-
                                  Value or values to compare with the related
                                  entity.
                                items:
                                  type: string
                                type: array
                            description: >-
                              Value or values to compare with the related
                              entity.
                        required:
                          - operator
                          - value
                        type: object
                      id:
                        description: Field identifier of the related entity.
                        type: string
                      rel_type:
                        const: conditional
                        description: >-
                          Relation: `context` supplies context, `references`
                          cites another entity, `depends_on` requires it,
                          `evaluates` assesses it, or `conditional` applies only
                          when a condition matches.
                        type: string
                    required:
                      - id
                      - rel_type
                      - condition
                    type: object
                description: Relation to another entity.
              type: array
          required:
            - fieldProxyId
            - entityType
            - optional
            - jsonPath
            - description
            - dynamic
          type: object
    ExpertListPredicate:
      additionalProperties: false
      properties:
        expertListId:
          pattern: >-
            ^exl\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
          type: string
        operator:
          enum:
            - list_in
            - list_nin
          type: string
      required:
        - operator
        - expertListId
      type: object
    ExpertListConditionGroup:
      additionalProperties: false
      properties:
        logic:
          enum:
            - and
            - or
          type: string
        predicates:
          items:
            $ref: '#/components/schemas/ExpertListCondition'
          minItems: 1
          type: array
      required:
        - logic
        - predicates
      type: object
  headers:
    RateLimit-Limit:
      description: The maximum number of requests allowed in the current window.
      schema:
        type: integer
    RateLimit-Policy:
      description: The rate limit policy (e.g., "60;w=60").
      schema:
        type: string
    RateLimit-Remaining:
      description: The number of requests remaining in the current window.
      schema:
        type: integer
    RateLimit-Reset:
      description: The number of seconds until the current window resets.
      schema:
        type: integer
    X-Request-Id:
      description: >-
        The request id: the X-Request-Id you sent when it is 1-128 characters of
        letters, digits, ".", "_" or "-", otherwise a generated UUID. Present on
        every response, including errors; quote it when reporting a problem.
      schema:
        type: string
  securitySchemes:
    apiKeyAuth:
      description: >-
        Enter `ApiKey <your-api-key>` in Authorization, including the `ApiKey `
        prefix. In cURL and Python samples, `<api-key>` means this full value.
        The TypeScript SDK adds the prefix for you.
      in: header
      name: Authorization
      type: apiKey
    scopedTokenAuth:
      description: >-
        Enter the project-scoped token as `pst_...` in X-Scoped-Token, without
        an `ApiKey ` prefix. Create a token with POST
        /projects/{projectId}/tokens.
      in: header
      name: X-Scoped-Token
      type: apiKey

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.