{"openapi":"3.1.0","info":{"title":"Pipeline API (Beta)","description":"**BETA.** This API is in beta. We are not committing to backward compatibility for now — endpoints, request/response shapes, and error contracts may change without notice.\n\nPublic API for the pipeline workflow (v2).","version":"2.0.0"},"components":{"securitySchemes":{"apiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"API key with \"ApiKey \" prefix, e.g. \"ApiKey xxx\""},"scopedTokenAuth":{"type":"apiKey","in":"header","name":"X-Scoped-Token","description":"Scoped token issued by POST /projects/{projectId}/tokens, sent as its own header, e.g. \"X-Scoped-Token: pst_xxx\""}},"schemas":{"BaseModel":{"type":"object","properties":{"id":{"type":"string","enum":["qwen3-4b","qwen3-8b","qwen3-32b","qwen3-235b"]},"displayName":{"type":"string","minLength":1},"provider":{"type":"string","minLength":1},"upstreamModel":{"type":"string","minLength":1},"upstreamRevision":{"type":"string","pattern":"^[a-f0-9]{40}$"},"upstreamUrl":{"type":"string","format":"uri"}},"required":["id","displayName","provider","upstreamModel","upstreamRevision","upstreamUrl"],"additionalProperties":false,"description":"A global base model pinned to an immutable upstream revision; upstreamUrl links to that exact Hugging Face snapshot, which every Training Run trains on."},"BaseModelId":{"type":"string","enum":["qwen3-4b","qwen3-8b","qwen3-32b","qwen3-235b"],"description":"The stable product identifier of a catalog base model."},"ProjectId":{"description":"The unique identifier of the project.","type":"string","pattern":"^pp\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"ModelId":{"description":"The unique identifier of a project Model.","type":"string","pattern":"^mdl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"Model":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/ModelId"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"name":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"baseModelId":{"$ref":"#/components/schemas/BaseModelId"},"archivedAt":{"anyOf":[{"type":"string","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":"null"}]},"createdAt":{"type":"string","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))$"},"updatedAt":{"type":"string","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))$"}},"required":["id","projectId","name","description","baseModelId","archivedAt","createdAt","updatedAt"],"description":"A project-owned logical Model containing immutable versions."},"Pagination":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"example":42},"limit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"example":20},"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"example":0},"hasMore":{"type":"boolean"}},"required":["total","limit","offset","hasMore"],"description":"Pagination metadata."},"ModelVersionId":{"description":"The unique identifier of an immutable Model Version.","type":"string","pattern":"^mdv\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"ModelVersion":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/ModelVersionId"},"modelId":{"$ref":"#/components/schemas/ModelId"},"name":{"type":"string","minLength":1,"maxLength":120},"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"content":{"oneOf":[{"type":"object","properties":{"runtimeBase":{"type":"string","enum":["qwen3-4b","qwen3-8b","qwen3-32b","qwen3-235b"]},"manifest":{"minItems":1,"maxItems":64,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512,"pattern":"^(?!\\/)(?!.*(?:^|\\/)\\.{1,2}(?:\\/|$))[A-Za-z0-9._-]+(?:\\/[A-Za-z0-9._-]+)*$"},"byteSize":{"type":"integer","minimum":0,"maximum":10737418240},"mediaType":{"type":"string","enum":["application/octet-stream","application/json"]},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"}},"required":["path","byteSize","mediaType","sha256"],"additionalProperties":false}},"kind":{"type":"string","const":"lora_adapter"},"parent":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"base_model"},"baseModelId":{"type":"string","enum":["qwen3-4b","qwen3-8b","qwen3-32b","qwen3-235b"]}},"required":["type","baseModelId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"model_version"},"modelVersionId":{"type":"string","pattern":"^mdv\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"required":["type","modelVersionId"],"additionalProperties":false}]}},"required":["runtimeBase","manifest","kind","parent"],"additionalProperties":false},{"type":"object","properties":{"runtimeBase":{"type":"string","enum":["qwen3-4b","qwen3-8b","qwen3-32b","qwen3-235b"]},"manifest":{"minItems":1,"maxItems":64,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512,"pattern":"^(?!\\/)(?!.*(?:^|\\/)\\.{1,2}(?:\\/|$))[A-Za-z0-9._-]+(?:\\/[A-Za-z0-9._-]+)*$"},"byteSize":{"type":"integer","minimum":0,"maximum":10737418240},"mediaType":{"type":"string","enum":["application/octet-stream","application/json"]},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"}},"required":["path","byteSize","mediaType","sha256"],"additionalProperties":false}},"kind":{"type":"string","const":"full"},"parent":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"base_model"},"baseModelId":{"type":"string","enum":["qwen3-4b","qwen3-8b","qwen3-32b","qwen3-235b"]}},"required":["type","baseModelId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"model_version"},"modelVersionId":{"type":"string","pattern":"^mdv\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"required":["type","modelVersionId"],"additionalProperties":false}]}},"required":["runtimeBase","manifest","kind"],"additionalProperties":false}]},"producer":{"type":"object","properties":{"type":{"type":"string","const":"training_run"},"trainingRunId":{"type":"string","pattern":"^trn\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"required":["type","trainingRunId"],"additionalProperties":false},"createdAt":{"type":"string","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))$"}},"required":["id","modelId","name","revision","content","producer","createdAt"],"description":"One immutable version of a project Model."},"ModelVersionContentDownload":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/ModelVersionId"},"name":{"type":"string","minLength":1,"maxLength":120},"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"content":{"oneOf":[{"type":"object","properties":{"runtimeBase":{"type":"string","enum":["qwen3-4b","qwen3-8b","qwen3-32b","qwen3-235b"]},"manifest":{"minItems":1,"maxItems":64,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512,"pattern":"^(?!\\/)(?!.*(?:^|\\/)\\.{1,2}(?:\\/|$))[A-Za-z0-9._-]+(?:\\/[A-Za-z0-9._-]+)*$"},"byteSize":{"type":"integer","minimum":0,"maximum":10737418240},"mediaType":{"type":"string","enum":["application/octet-stream","application/json"]},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"}},"required":["path","byteSize","mediaType","sha256"],"additionalProperties":false}},"kind":{"type":"string","const":"lora_adapter"},"parent":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"base_model"},"baseModelId":{"type":"string","enum":["qwen3-4b","qwen3-8b","qwen3-32b","qwen3-235b"]}},"required":["type","baseModelId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"model_version"},"modelVersionId":{"type":"string","pattern":"^mdv\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"required":["type","modelVersionId"],"additionalProperties":false}]}},"required":["runtimeBase","manifest","kind","parent"],"additionalProperties":false},{"type":"object","properties":{"runtimeBase":{"type":"string","enum":["qwen3-4b","qwen3-8b","qwen3-32b","qwen3-235b"]},"manifest":{"minItems":1,"maxItems":64,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512,"pattern":"^(?!\\/)(?!.*(?:^|\\/)\\.{1,2}(?:\\/|$))[A-Za-z0-9._-]+(?:\\/[A-Za-z0-9._-]+)*$"},"byteSize":{"type":"integer","minimum":0,"maximum":10737418240},"mediaType":{"type":"string","enum":["application/octet-stream","application/json"]},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"}},"required":["path","byteSize","mediaType","sha256"],"additionalProperties":false}},"kind":{"type":"string","const":"full"},"parent":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"base_model"},"baseModelId":{"type":"string","enum":["qwen3-4b","qwen3-8b","qwen3-32b","qwen3-235b"]}},"required":["type","baseModelId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"model_version"},"modelVersionId":{"type":"string","pattern":"^mdv\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"required":["type","modelVersionId"],"additionalProperties":false}]}},"required":["runtimeBase","manifest","kind"],"additionalProperties":false}]},"files":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512,"pattern":"^(?!\\/)(?!.*(?:^|\\/)\\.{1,2}(?:\\/|$))[A-Za-z0-9._-]+(?:\\/[A-Za-z0-9._-]+)*$"},"byteSize":{"type":"integer","minimum":0,"maximum":10737418240},"mediaType":{"type":"string","enum":["application/octet-stream","application/json"]},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"url":{"type":"string","format":"uri"}},"required":["path","byteSize","mediaType","sha256","url"],"additionalProperties":false}}},"required":["id","name","revision","content","files"],"description":"Signed download URLs for one immutable Model Version."},"TrainingId":{"description":"The unique identifier of a Training draft.","type":"string","pattern":"^trg\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"TrainingModelSource":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"base_model"},"baseModelId":{"type":"string","enum":["qwen3-4b","qwen3-8b","qwen3-32b","qwen3-235b"]}},"required":["type","baseModelId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"model_version"},"modelVersionId":{"type":"string","pattern":"^mdv\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"required":["type","modelVersionId"],"additionalProperties":false}],"description":"The exact Base Model or Model Version used as the source."},"TrainingDatasetItemFilter":{"type":"object","properties":{"fieldValues":{"type":"array","items":{"type":"object","properties":{"jsonPath":{"type":"string","minLength":1},"operator":{"type":"string","enum":["text_eq","text_neq"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"latestOnly":{"default":true,"type":"boolean"},"sources":{"default":[],"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["jsonPath","operator","value","fieldId"],"additionalProperties":false}},"fieldSources":{"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"sources":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["fieldId","sources"],"additionalProperties":false}},"missingRevisionFields":{"type":"array","items":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"slice":{"type":"object","properties":{"sliceId":{"type":"string","pattern":"^dsl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"required":["sliceId"],"additionalProperties":false},"parts":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"names":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}}},"required":["fieldId","names"],"additionalProperties":false},"excludeParts":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"names":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}}},"required":["fieldId","names"],"additionalProperties":false}}},"required":["fieldValues","fieldSources","missingRevisionFields"],"additionalProperties":false,"description":"A normalized Dataset item filter stored with a Training draft."},"TrainingDatasetSelection":{"type":"object","properties":{"datasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"itemFilter":{"$ref":"#/components/schemas/TrainingDatasetItemFilter"}},"required":["datasetId","itemFilter"],"additionalProperties":false,"description":"A Dataset and normalized filter selected for one Training input purpose."},"SftTrainingConfiguration":{"type":"object","properties":{"method":{"type":"string","const":"sft"},"source":{"$ref":"#/components/schemas/TrainingModelSource"},"sliceId":{"description":"The Dataset Slice to train on; required. The slice must freeze a split column, which decides the rows: training learns on its train parts and validates on its validate parts, as they were at the slice's cutoff. Rows that any split column marks as test stay out of training and validation, except a part of the training's own column with both the validate and test roles, which is its validation set.","type":"string","pattern":"^dsl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"splitFieldId":{"description":"The split column to train with, by field id. Needed only when the slice freezes more than one split column.","type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"trainParts":{"description":"The train parts to learn on. Defaults to every part with the train role.","minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}},"loraRank":{"type":"number","enum":[8,16,32],"description":"LoRA adapter rank: 8, 16, or 32. Alpha is always twice the rank. Serving needs --max-lora-rank at or above this value."},"epochs":{"type":"integer","minimum":1,"maximum":5,"description":"Passes over the training selection, 1 through 5. The cost estimate grows linearly with epochs."},"learningRate":{"type":"number","minimum":0.00001,"maximum":0.001,"description":"Optimizer learning rate, 0.00001 through 0.001. The default is 0.00015."},"batchSize":{"type":"number","enum":[8,16,32,64],"description":"Sequences per optimizer step across all GPUs: 8, 16, 32, or 64. The default is 8."},"maxSequenceLength":{"type":"integer","minimum":64,"maximum":16384,"description":"Token budget per training example, prompt and target together: 64 through 16384. The cost estimate is blocked when the longest example exceeds it. Defaults: 12288 for SFT, 3072 for gisting."},"training":{"$ref":"#/components/schemas/TrainingDatasetSelection"},"validation":{"$ref":"#/components/schemas/TrainingDatasetSelection"}},"required":["method","source","loraRank","epochs","learningRate","batchSize","maxSequenceLength","training"],"additionalProperties":false,"description":"A normalized supervised fine-tuning draft using LoRA."},"GistingTrainingConfiguration":{"type":"object","properties":{"method":{"type":"string","const":"gisting"},"source":{"$ref":"#/components/schemas/TrainingModelSource"},"sliceId":{"description":"The Dataset Slice to train on; required. The slice must freeze a split column, which decides the rows: training learns on its train parts and validates on its validate parts, as they were at the slice's cutoff. Rows that any split column marks as test stay out of training and validation, except a part of the training's own column with both the validate and test roles, which is its validation set.","type":"string","pattern":"^dsl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"splitFieldId":{"description":"The split column to train with, by field id. Needed only when the slice freezes more than one split column.","type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"trainParts":{"description":"The train parts to learn on. Defaults to every part with the train role.","minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}},"promptFileId":{"type":"string","pattern":"^ppf\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"gistTokens":{"enum":[8,32,64,"1/4","1/8","1/16","1/32"],"description":"Number of learned soft tokens that replace the prompt: an absolute 8, 32, or 64, or a fraction of the original prompt — \"1/4\", \"1/8\", \"1/16\", or \"1/32\". A fraction resolves to ceil(prompt tokens / N) when the run reads the prompt, clamped to 8 through 256, so the compression ratio holds whatever the prompt length. Fewer tokens compress harder."},"epochs":{"type":"integer","minimum":1,"maximum":5,"description":"Passes over the training selection, 1 through 5. The cost estimate grows linearly with epochs."},"learningRate":{"type":"number","minimum":0.001,"maximum":0.3,"description":"Optimizer learning rate for the soft tokens, 0.001 through 0.3. The default is 0.03."},"batchSize":{"type":"number","enum":[8,16,32,64],"description":"Sequences per optimizer step across all GPUs: 8, 16, 32, or 64. The default is 8."},"maxSequenceLength":{"type":"integer","minimum":64,"maximum":16384,"description":"Token budget per training example, prompt and target together: 64 through 16384. The cost estimate is blocked when the longest example exceeds it. Defaults: 12288 for SFT, 3072 for gisting."},"training":{"$ref":"#/components/schemas/TrainingDatasetSelection"},"validation":{"$ref":"#/components/schemas/TrainingDatasetSelection"}},"required":["method","source","promptFileId","gistTokens","epochs","learningRate","batchSize","maxSequenceLength","training"],"additionalProperties":false,"description":"A normalized prompt-gisting Training draft."},"TrainingConfiguration":{"oneOf":[{"$ref":"#/components/schemas/SftTrainingConfiguration"},{"$ref":"#/components/schemas/GistingTrainingConfiguration"}],"description":"A normalized method-specific Training draft."},"Training":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/TrainingId"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"modelId":{"anyOf":[{"$ref":"#/components/schemas/ModelId"},{"type":"null"}]},"name":{"type":"string"},"configuration":{"$ref":"#/components/schemas/TrainingConfiguration"},"archivedAt":{"anyOf":[{"type":"string","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":"null"}]},"createdAt":{"type":"string","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))$"},"updatedAt":{"type":"string","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))$"}},"required":["id","projectId","modelId","name","configuration","archivedAt","createdAt","updatedAt"],"description":"A project-owned mutable Training draft. The output Model is bound on the first Training Run."},"SftTrainingConfigurationInput":{"type":"object","properties":{"method":{"type":"string","const":"sft"},"source":{"$ref":"#/components/schemas/TrainingModelSource"},"sliceId":{"description":"The Dataset Slice to train on; required. The slice must freeze a split column, which decides the rows: training learns on its train parts and validates on its validate parts, as they were at the slice's cutoff. Rows that any split column marks as test stay out of training and validation, except a part of the training's own column with both the validate and test roles, which is its validation set.","type":"string","pattern":"^dsl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"splitFieldId":{"description":"The split column to train with, by field id. Needed only when the slice freezes more than one split column.","type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"trainParts":{"description":"The train parts to learn on. Defaults to every part with the train role.","minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}},"loraRank":{"default":16,"description":"LoRA adapter rank: 8, 16, or 32. Alpha is always twice the rank. Serving needs --max-lora-rank at or above this value.","type":"number","enum":[8,16,32]},"epochs":{"default":3,"description":"Passes over the training selection, 1 through 5. The cost estimate grows linearly with epochs.","type":"integer","minimum":1,"maximum":5},"learningRate":{"default":0.00015,"description":"Optimizer learning rate, 0.00001 through 0.001. The default is 0.00015.","type":"number","minimum":0.00001,"maximum":0.001},"batchSize":{"default":8,"description":"Sequences per optimizer step across all GPUs: 8, 16, 32, or 64. The default is 8.","type":"number","enum":[8,16,32,64]},"maxSequenceLength":{"default":12288,"description":"Token budget per training example, prompt and target together: 64 through 16384. The cost estimate is blocked when the longest example exceeds it. Defaults: 12288 for SFT, 3072 for gisting.","type":"integer","minimum":64,"maximum":16384}},"required":["method","source","sliceId"],"additionalProperties":false,"description":"An SFT draft input. Omitted hyperparameters take the defaults: loraRank 16, epochs 3, learningRate 0.00015, batchSize 8, maxSequenceLength 12288."},"GistingTrainingConfigurationInput":{"type":"object","properties":{"method":{"type":"string","const":"gisting"},"source":{"$ref":"#/components/schemas/TrainingModelSource"},"sliceId":{"description":"The Dataset Slice to train on; required. The slice must freeze a split column, which decides the rows: training learns on its train parts and validates on its validate parts, as they were at the slice's cutoff. Rows that any split column marks as test stay out of training and validation, except a part of the training's own column with both the validate and test roles, which is its validation set.","type":"string","pattern":"^dsl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"splitFieldId":{"description":"The split column to train with, by field id. Needed only when the slice freezes more than one split column.","type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"trainParts":{"description":"The train parts to learn on. Defaults to every part with the train role.","minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}},"promptFileId":{"type":"string","pattern":"^ppf\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"gistTokens":{"default":"1/8","description":"Number of learned soft tokens that replace the prompt: an absolute 8, 32, or 64, or a fraction of the original prompt — \"1/4\", \"1/8\", \"1/16\", or \"1/32\". A fraction resolves to ceil(prompt tokens / N) when the run reads the prompt, clamped to 8 through 256, so the compression ratio holds whatever the prompt length. Fewer tokens compress harder.","enum":[8,32,64,"1/4","1/8","1/16","1/32"]},"epochs":{"default":3,"description":"Passes over the training selection, 1 through 5. The cost estimate grows linearly with epochs.","type":"integer","minimum":1,"maximum":5},"learningRate":{"default":0.03,"description":"Optimizer learning rate for the soft tokens, 0.001 through 0.3. The default is 0.03.","type":"number","minimum":0.001,"maximum":0.3},"batchSize":{"default":8,"description":"Sequences per optimizer step across all GPUs: 8, 16, 32, or 64. The default is 8.","type":"number","enum":[8,16,32,64]},"maxSequenceLength":{"default":3072,"description":"Token budget per training example, prompt and target together: 64 through 16384. The cost estimate is blocked when the longest example exceeds it. Defaults: 12288 for SFT, 3072 for gisting.","type":"integer","minimum":64,"maximum":16384}},"required":["method","source","sliceId","promptFileId"],"additionalProperties":false,"description":"A gisting draft input. Omitted hyperparameters take the defaults: gistTokens \"1/8\", epochs 3, learningRate 0.03, batchSize 8, maxSequenceLength 3072."},"TrainingConfigurationInput":{"oneOf":[{"$ref":"#/components/schemas/SftTrainingConfigurationInput"},{"$ref":"#/components/schemas/GistingTrainingConfigurationInput"}],"description":"Method-specific Training draft input."},"TrainingCostEstimateInputSetId":{"description":"The immutable input set used to calculate a Training Cost Estimate.","type":"string","pattern":"^tei\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"TrainingCostEstimateInputSet":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/TrainingCostEstimateInputSetId"},"trainingId":{"$ref":"#/components/schemas/TrainingId"},"cutoff":{"type":"string","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))$"},"expiresAt":{"type":"string","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))$"},"exports":{"type":"object","properties":{"training":{"type":"string","pattern":"^dex\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"validation":{"anyOf":[{"type":"string","pattern":"^dex\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},{"type":"null"}]}},"required":["training","validation"],"additionalProperties":false},"createdAt":{"type":"string","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))$"}},"required":["id","trainingId","cutoff","expiresAt","exports","createdAt"],"additionalProperties":false,"description":"Immutable validate-only Dataset Exports for one Training draft."},"TrainingCostEstimate":{"oneOf":[{"type":"object","properties":{"trainingId":{"$ref":"#/components/schemas/TrainingId"},"inputSetId":{"$ref":"#/components/schemas/TrainingCostEstimateInputSetId"},"cutoff":{"type":"string","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))$"},"inputs":{"type":"object","properties":{"training":{"type":"object","properties":{"datasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"datasetExportId":{"type":"string","pattern":"^dex\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"report":{"anyOf":[{"type":"object","properties":{"validCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"invalidCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"errors":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"itemIndex":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string"}},"required":["itemIndex","reason"],"additionalProperties":false}},"tokens":{"type":"object","properties":{"p50":{"type":"integer","minimum":0,"maximum":9007199254740991},"p95":{"type":"integer","minimum":0,"maximum":9007199254740991},"max":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"default":null,"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"estimatorVersion":{"default":null,"anyOf":[{"type":"string","enum":["utf16-code-units-div-4-v1","script-weighted-v1"]},{"type":"null"}]}},"required":["p50","p95","max"],"additionalProperties":false}},"required":["validCount","invalidCount","errors","tokens"],"additionalProperties":false},{"type":"null"}]},"failure":{"anyOf":[{"type":"object","properties":{"timestamp":{"type":"string","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))$"},"code":{"type":"string","enum":["empty_selection","size_limit_exceeded","assembly_failed"]},"message":{"type":"string","minLength":1,"maxLength":500}},"required":["timestamp","code","message"]},{"type":"null"}]},"heldOutRows":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["datasetId","datasetExportId","report","failure"],"additionalProperties":false},"validation":{"anyOf":[{"type":"object","properties":{"datasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"datasetExportId":{"type":"string","pattern":"^dex\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"report":{"anyOf":[{"type":"object","properties":{"validCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"invalidCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"errors":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"itemIndex":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string"}},"required":["itemIndex","reason"],"additionalProperties":false}},"tokens":{"type":"object","properties":{"p50":{"type":"integer","minimum":0,"maximum":9007199254740991},"p95":{"type":"integer","minimum":0,"maximum":9007199254740991},"max":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"default":null,"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"estimatorVersion":{"default":null,"anyOf":[{"type":"string","enum":["utf16-code-units-div-4-v1","script-weighted-v1"]},{"type":"null"}]}},"required":["p50","p95","max"],"additionalProperties":false}},"required":["validCount","invalidCount","errors","tokens"],"additionalProperties":false},{"type":"null"}]},"failure":{"anyOf":[{"type":"object","properties":{"timestamp":{"type":"string","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))$"},"code":{"type":"string","enum":["empty_selection","size_limit_exceeded","assembly_failed"]},"message":{"type":"string","minLength":1,"maxLength":500}},"required":["timestamp","code","message"]},{"type":"null"}]},"heldOutRows":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["datasetId","datasetExportId","report","failure"],"additionalProperties":false},{"type":"null"}]}},"required":["training","validation"],"additionalProperties":false},"capabilityVersion":{"type":"string","minLength":1},"pricingVersion":{"type":"string","minLength":1},"calculatedAt":{"type":"string","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))$"},"status":{"type":"string","const":"blocked"},"issues":{"minItems":1,"type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["unsupported_source","export_failed","invalid_examples","empty_selection","row_limit_exceeded","token_limit_exceeded","estimator_mismatch","unsupported_duration"]},"message":{"type":"string","minLength":1,"maxLength":500},"purpose":{"anyOf":[{"type":"string","enum":["training","validation"]},{"type":"null"}]}},"required":["code","message","purpose"],"additionalProperties":false}}},"required":["trainingId","inputSetId","cutoff","inputs","capabilityVersion","pricingVersion","calculatedAt","status","issues"],"additionalProperties":false},{"type":"object","properties":{"trainingId":{"$ref":"#/components/schemas/TrainingId"},"inputSetId":{"$ref":"#/components/schemas/TrainingCostEstimateInputSetId"},"cutoff":{"type":"string","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))$"},"inputs":{"type":"object","properties":{"training":{"type":"object","properties":{"datasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"datasetExportId":{"type":"string","pattern":"^dex\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"report":{"anyOf":[{"type":"object","properties":{"validCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"invalidCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"errors":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"itemIndex":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string"}},"required":["itemIndex","reason"],"additionalProperties":false}},"tokens":{"type":"object","properties":{"p50":{"type":"integer","minimum":0,"maximum":9007199254740991},"p95":{"type":"integer","minimum":0,"maximum":9007199254740991},"max":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"default":null,"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"estimatorVersion":{"default":null,"anyOf":[{"type":"string","enum":["utf16-code-units-div-4-v1","script-weighted-v1"]},{"type":"null"}]}},"required":["p50","p95","max"],"additionalProperties":false}},"required":["validCount","invalidCount","errors","tokens"],"additionalProperties":false},{"type":"null"}]},"failure":{"anyOf":[{"type":"object","properties":{"timestamp":{"type":"string","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))$"},"code":{"type":"string","enum":["empty_selection","size_limit_exceeded","assembly_failed"]},"message":{"type":"string","minLength":1,"maxLength":500}},"required":["timestamp","code","message"]},{"type":"null"}]},"heldOutRows":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["datasetId","datasetExportId","report","failure"],"additionalProperties":false},"validation":{"anyOf":[{"type":"object","properties":{"datasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"datasetExportId":{"type":"string","pattern":"^dex\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"report":{"anyOf":[{"type":"object","properties":{"validCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"invalidCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"errors":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"itemIndex":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string"}},"required":["itemIndex","reason"],"additionalProperties":false}},"tokens":{"type":"object","properties":{"p50":{"type":"integer","minimum":0,"maximum":9007199254740991},"p95":{"type":"integer","minimum":0,"maximum":9007199254740991},"max":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"default":null,"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"estimatorVersion":{"default":null,"anyOf":[{"type":"string","enum":["utf16-code-units-div-4-v1","script-weighted-v1"]},{"type":"null"}]}},"required":["p50","p95","max"],"additionalProperties":false}},"required":["validCount","invalidCount","errors","tokens"],"additionalProperties":false},{"type":"null"}]},"failure":{"anyOf":[{"type":"object","properties":{"timestamp":{"type":"string","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))$"},"code":{"type":"string","enum":["empty_selection","size_limit_exceeded","assembly_failed"]},"message":{"type":"string","minLength":1,"maxLength":500}},"required":["timestamp","code","message"]},{"type":"null"}]},"heldOutRows":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["datasetId","datasetExportId","report","failure"],"additionalProperties":false},{"type":"null"}]}},"required":["training","validation"],"additionalProperties":false},"capabilityVersion":{"type":"string","minLength":1},"pricingVersion":{"type":"string","minLength":1},"calculatedAt":{"type":"string","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))$"},"status":{"type":"string","const":"ready"},"issues":{"minItems":0,"maxItems":0,"type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["unsupported_source","export_failed","invalid_examples","empty_selection","row_limit_exceeded","token_limit_exceeded","estimator_mismatch","unsupported_duration"]},"message":{"type":"string","minLength":1,"maxLength":500},"purpose":{"anyOf":[{"type":"string","enum":["training","validation"]},{"type":"null"}]}},"required":["code","message","purpose"],"additionalProperties":false}},"budget":{"type":"object","properties":{"methodWorkUnits":{"type":"integer","minimum":0,"maximum":9007199254740991},"estimatedGpuSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"estimatedWallSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"maximumWallSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"maximumGpuSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"gpuCount":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["methodWorkUnits","estimatedGpuSeconds","estimatedWallSeconds","maximumWallSeconds","maximumGpuSeconds","gpuCount"],"additionalProperties":false},"maximumCharge":{"type":"string"},"currency":{"type":"string","const":"USD"},"fingerprint":{"type":"string","pattern":"^[0-9a-f]{64}$"}},"required":["trainingId","inputSetId","cutoff","inputs","capabilityVersion","pricingVersion","calculatedAt","status","issues","budget","maximumCharge","currency","fingerprint"]}],"description":"A validation result and conservative maximum price for one Training draft."},"TrainingRunId":{"description":"The unique identifier of a Training Run.","type":"string","pattern":"^trn\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"TrainingRun":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/TrainingRunId"},"trainingId":{"$ref":"#/components/schemas/TrainingId"},"configuration":{"$ref":"#/components/schemas/TrainingConfiguration"},"estimateInputSetId":{"$ref":"#/components/schemas/TrainingCostEstimateInputSetId"},"estimateFingerprint":{"type":"string","pattern":"^[0-9a-f]{64}$"},"outputModelVersionId":{"$ref":"#/components/schemas/ModelVersionId"},"outputModelVersionName":{"type":"string","minLength":1,"maxLength":120},"maxCost":{"type":"string"},"status":{"type":"string","enum":["queued","running","stopping","blocked","completed","failed","canceled"]},"outputModelVersionRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"progress":{"anyOf":[{"type":"object","properties":{"phase":{"type":"string","minLength":1,"maxLength":120},"step":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"total":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"message":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]}},"required":["phase","step","total","message"],"additionalProperties":false},{"type":"null"}]},"blockedReason":{"anyOf":[{"type":"string","enum":["funds","payment","billing_review"]},{"type":"null"}]},"error":{"anyOf":[{"type":"object","properties":{"code":{"anyOf":[{"type":"string","enum":["data_export_failed","input_report_mismatch","billing_rejected","provider_failed","provider_timeout","invalid_provider_output","provider_output_changed","prompt_changed","payment_window_expired"]},{"type":"string","const":"canceled"}]},"message":{"type":"string","maxLength":500},"retryable":{"type":"boolean"}},"required":["code","message","retryable"],"additionalProperties":false},{"type":"null"}]},"billingStatus":{"type":"string","enum":["pending","reserved","release_pending","released","settled","payment_required","resolved","reconciliation_required"]},"chargedAmount":{"anyOf":[{"type":"string","pattern":"^(0|[1-9][0-9]*)(\\.[0-9]+)?$"},{"type":"null"}]},"message":{"anyOf":[{"type":"string"},{"type":"null"}]},"quote":{"type":"object","properties":{"inputSetId":{"$ref":"#/components/schemas/TrainingCostEstimateInputSetId"},"cutoff":{"type":"string","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))$"},"inputs":{"type":"object","properties":{"training":{"type":"object","properties":{"datasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"datasetExportId":{"type":"string","pattern":"^dex\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"report":{"anyOf":[{"type":"object","properties":{"validCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"invalidCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"errors":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"itemIndex":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string"}},"required":["itemIndex","reason"],"additionalProperties":false}},"tokens":{"type":"object","properties":{"p50":{"type":"integer","minimum":0,"maximum":9007199254740991},"p95":{"type":"integer","minimum":0,"maximum":9007199254740991},"max":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"default":null,"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"estimatorVersion":{"default":null,"anyOf":[{"type":"string","enum":["utf16-code-units-div-4-v1","script-weighted-v1"]},{"type":"null"}]}},"required":["p50","p95","max"],"additionalProperties":false}},"required":["validCount","invalidCount","errors","tokens"],"additionalProperties":false},{"type":"null"}]},"failure":{"anyOf":[{"type":"object","properties":{"timestamp":{"type":"string","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))$"},"code":{"type":"string","enum":["empty_selection","size_limit_exceeded","assembly_failed"]},"message":{"type":"string","minLength":1,"maxLength":500}},"required":["timestamp","code","message"]},{"type":"null"}]},"heldOutRows":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["datasetId","datasetExportId","report","failure"],"additionalProperties":false},"validation":{"anyOf":[{"type":"object","properties":{"datasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"datasetExportId":{"type":"string","pattern":"^dex\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"report":{"anyOf":[{"type":"object","properties":{"validCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"invalidCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"errors":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"itemIndex":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string"}},"required":["itemIndex","reason"],"additionalProperties":false}},"tokens":{"type":"object","properties":{"p50":{"type":"integer","minimum":0,"maximum":9007199254740991},"p95":{"type":"integer","minimum":0,"maximum":9007199254740991},"max":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"default":null,"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"estimatorVersion":{"default":null,"anyOf":[{"type":"string","enum":["utf16-code-units-div-4-v1","script-weighted-v1"]},{"type":"null"}]}},"required":["p50","p95","max"],"additionalProperties":false}},"required":["validCount","invalidCount","errors","tokens"],"additionalProperties":false},{"type":"null"}]},"failure":{"anyOf":[{"type":"object","properties":{"timestamp":{"type":"string","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))$"},"code":{"type":"string","enum":["empty_selection","size_limit_exceeded","assembly_failed"]},"message":{"type":"string","minLength":1,"maxLength":500}},"required":["timestamp","code","message"]},{"type":"null"}]},"heldOutRows":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["datasetId","datasetExportId","report","failure"],"additionalProperties":false},{"type":"null"}]}},"required":["training","validation"],"additionalProperties":false},"capabilityVersion":{"type":"string","minLength":1},"pricingVersion":{"type":"string","minLength":1},"calculatedAt":{"type":"string","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))$"},"budget":{"type":"object","properties":{"methodWorkUnits":{"type":"integer","minimum":0,"maximum":9007199254740991},"estimatedGpuSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"estimatedWallSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"maximumWallSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"maximumGpuSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"gpuCount":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["methodWorkUnits","estimatedGpuSeconds","estimatedWallSeconds","maximumWallSeconds","maximumGpuSeconds","gpuCount"],"additionalProperties":false},"maximumCharge":{"type":"string"},"currency":{"type":"string","const":"USD"}},"required":["inputSetId","cutoff","inputs","capabilityVersion","pricingVersion","calculatedAt","budget","maximumCharge","currency"]},"inputCutoff":{"type":"string","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))$"},"inputs":{"anyOf":[{"type":"object","properties":{"training":{"type":"object","properties":{"datasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"datasetExportId":{"type":"string","pattern":"^dex\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"datasetFileId":{"type":"string","pattern":"^dfl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"itemFilter":{"type":"object","properties":{"fieldValues":{"type":"array","items":{"type":"object","properties":{"jsonPath":{"type":"string","minLength":1},"operator":{"type":"string","enum":["text_eq","text_neq"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"latestOnly":{"default":true,"type":"boolean"},"sources":{"default":[],"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["jsonPath","operator","value","fieldId"],"additionalProperties":false}},"fieldSources":{"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"sources":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["fieldId","sources"],"additionalProperties":false}},"missingRevisionFields":{"type":"array","items":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"createdBefore":{"type":"string","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))$"},"slice":{"type":"object","properties":{"sliceId":{"type":"string","pattern":"^dsl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"required":["sliceId"],"additionalProperties":false},"parts":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"names":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}}},"required":["fieldId","names"],"additionalProperties":false},"excludeParts":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"names":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}}},"required":["fieldId","names"],"additionalProperties":false}}},"required":["createdBefore"],"additionalProperties":false},"format":{"type":"string","const":"training-jsonl"},"contract":{"type":"string","enum":["openai-chat-v1"]},"byteSize":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"report":{"type":"object","properties":{"validCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"invalidCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"errors":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"itemIndex":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string"}},"required":["itemIndex","reason"],"additionalProperties":false}},"tokens":{"type":"object","properties":{"p50":{"type":"integer","minimum":0,"maximum":9007199254740991},"p95":{"type":"integer","minimum":0,"maximum":9007199254740991},"max":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"default":null,"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"estimatorVersion":{"default":null,"anyOf":[{"type":"string","enum":["utf16-code-units-div-4-v1","script-weighted-v1"]},{"type":"null"}]}},"required":["p50","p95","max"],"additionalProperties":false}},"required":["validCount","invalidCount","errors","tokens"],"additionalProperties":false}},"required":["datasetId","datasetExportId","datasetFileId","itemFilter","format","contract","byteSize","sha256","report"],"additionalProperties":false},"validation":{"anyOf":[{"type":"object","properties":{"datasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"datasetExportId":{"type":"string","pattern":"^dex\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"datasetFileId":{"type":"string","pattern":"^dfl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"itemFilter":{"type":"object","properties":{"fieldValues":{"type":"array","items":{"type":"object","properties":{"jsonPath":{"type":"string","minLength":1},"operator":{"type":"string","enum":["text_eq","text_neq"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"latestOnly":{"default":true,"type":"boolean"},"sources":{"default":[],"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["jsonPath","operator","value","fieldId"],"additionalProperties":false}},"fieldSources":{"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"sources":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["fieldId","sources"],"additionalProperties":false}},"missingRevisionFields":{"type":"array","items":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"createdBefore":{"type":"string","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))$"},"slice":{"type":"object","properties":{"sliceId":{"type":"string","pattern":"^dsl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"required":["sliceId"],"additionalProperties":false},"parts":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"names":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}}},"required":["fieldId","names"],"additionalProperties":false},"excludeParts":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"names":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}}},"required":["fieldId","names"],"additionalProperties":false}}},"required":["createdBefore"],"additionalProperties":false},"format":{"type":"string","const":"training-jsonl"},"contract":{"type":"string","enum":["openai-chat-v1"]},"byteSize":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"report":{"type":"object","properties":{"validCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"invalidCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"errors":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"itemIndex":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string"}},"required":["itemIndex","reason"],"additionalProperties":false}},"tokens":{"type":"object","properties":{"p50":{"type":"integer","minimum":0,"maximum":9007199254740991},"p95":{"type":"integer","minimum":0,"maximum":9007199254740991},"max":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"default":null,"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"estimatorVersion":{"default":null,"anyOf":[{"type":"string","enum":["utf16-code-units-div-4-v1","script-weighted-v1"]},{"type":"null"}]}},"required":["p50","p95","max"],"additionalProperties":false}},"required":["validCount","invalidCount","errors","tokens"],"additionalProperties":false}},"required":["datasetId","datasetExportId","datasetFileId","itemFilter","format","contract","byteSize","sha256","report"],"additionalProperties":false},{"type":"null"}]}},"required":["training","validation"],"additionalProperties":false},{"type":"null"}]},"createdAt":{"type":"string","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))$"},"updatedAt":{"type":"string","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))$"}},"required":["id","trainingId","configuration","estimateInputSetId","estimateFingerprint","outputModelVersionId","outputModelVersionName","maxCost","status","outputModelVersionRevision","progress","blockedReason","error","billingStatus","chargedAmount","message","quote","inputCutoff","inputs","createdAt","updatedAt"],"description":"One immutable Training execution snapshot and its current public state."},"TrainingRunLogs":{"type":"object","properties":{"entries":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"timestamp":{"type":"string","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))$"},"level":{"type":"string","enum":["trace","debug","info","warn","error"]},"message":{"type":"string","maxLength":4096}},"required":["timestamp","level","message"],"additionalProperties":false}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"complete":{"type":"boolean"},"truncated":{"type":"boolean"}},"required":["entries","nextCursor","complete","truncated"],"description":"A bounded page of sanitized Training Run logs."},"TrainingRunMetrics":{"type":"object","properties":{"available":{"type":"boolean"},"unavailableReason":{"anyOf":[{"type":"string","enum":["not_configured","unresolved"]},{"type":"null"}]},"truncated":{"type":"boolean"},"metrics":{"maxItems":40,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":250},"metric":{"anyOf":[{"type":"string","enum":["training_loss","validation_loss","learning_rate","training_token_accuracy","validation_token_accuracy"]},{"type":"null"}]},"latest":{"type":"object","properties":{"step":{"type":"integer","minimum":0,"maximum":9007199254740991},"timestamp":{"type":"integer","minimum":0,"maximum":9007199254740991},"value":{"anyOf":[{"type":"number"},{"type":"null"}]},"nonFinite":{"anyOf":[{"type":"string","enum":["nan","positive_infinity","negative_infinity"]},{"type":"null"}]}},"required":["step","timestamp","value","nonFinite"],"additionalProperties":false}},"required":["key","metric","latest"],"additionalProperties":false}}},"required":["available","unavailableReason","truncated","metrics"],"additionalProperties":false,"description":"Latest value of every metric the trainer reported for this run."},"TrainingRunMetricHistory":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":250},"metric":{"anyOf":[{"type":"string","enum":["training_loss","validation_loss","learning_rate","training_token_accuracy","validation_token_accuracy"]},{"type":"null"}]},"points":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"step":{"type":"integer","minimum":0,"maximum":9007199254740991},"timestamp":{"type":"integer","minimum":0,"maximum":9007199254740991},"value":{"anyOf":[{"type":"number"},{"type":"null"}]},"nonFinite":{"anyOf":[{"type":"string","enum":["nan","positive_infinity","negative_infinity"]},{"type":"null"}]}},"required":["step","timestamp","value","nonFinite"],"additionalProperties":false}},"truncated":{"type":"boolean"}},"required":["key","metric","points","truncated"],"additionalProperties":false,"description":"A bounded, downsampled history of one Training Run metric."},"Specialization":{"type":"object","properties":{"id":{"type":"string","description":"The platform qualification id. Use it as `qualificationId` in a node audience filter (`audience.specializations.values[]`)."},"name":{"type":"string","description":"The human-readable specialization name. Use it as `value` next to the `qualificationId`."},"expertsCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"How many ID-verified experts currently eligible for tasks hold this specialization."}},"required":["id","name","expertsCount"],"description":"An expert specialization (platform qualification) that a node audience can require."},"GenerationBudget":{"type":"object","properties":{"reasoningEffort":{"description":"The reasoning effort these figures apply to; absent for a model that does not support reasoning effort.","type":"string","enum":["low","medium","high"]},"min":{"type":"number","description":"The lowest `maxCostPerAttempt` apply accepts, in US dollars."},"typical":{"type":"number","description":"The typical cost of one generation attempt, in US dollars. A `maxCostPerAttempt` below it is accepted with a warning, because generation stops once the budget is spent and can truncate results."},"maxEstimate":{"type":"number","description":"The highest `maxCostPerAttempt` apply accepts, in US dollars: the estimated cost of the longest attempt."}},"required":["min","typical","maxEstimate"],"description":"The `maxCostPerAttempt` bounds of a generation model at one reasoning effort."},"GenerationModel":{"type":"object","properties":{"id":{"type":"string","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"],"description":"The model id. Use it as `generationModelId` in a synthetic `audienceAndPricing`."},"displayName":{"type":"string","description":"The model name the platform UI shows."},"description":{"type":"string","description":"What the model is suited for."},"recommended":{"type":"boolean","description":"Whether the platform recommends this model."},"defaultReasoningEffort":{"description":"The reasoning effort used when `reasoningEffort` is omitted. Absent when the model does not support reasoning effort; then setting `reasoningEffort` fails validation.","type":"string","enum":["low","medium","high"]},"budgets":{"type":"array","items":{"$ref":"#/components/schemas/GenerationBudget"},"description":"The `maxCostPerAttempt` bounds for each supported reasoning effort, or one entry without it."}},"required":["id","displayName","description","recommended","budgets"],"description":"A model offered for synthetic generation nodes."},"CurrentUser":{"type":"object","properties":{"id":{"type":"string","description":"The platform user id of the API key owner."},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The email of the API key owner, if known."},"internal":{"type":"boolean","description":"True when the API key owner belongs to at least one internal team. Delivery-order APIs are available only then; whether a project needs a delivery order follows the owning team's `internal` flag in `teams`."},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The team id to pass as teamId when creating a project."},"writable":{"type":"boolean","description":"False when the API key owner has read-only access to the team."},"internal":{"type":"boolean","description":"True when the team is internal: a project it owns requires a Sunday deliveryOrderId, and other teams reject one."}},"required":["id","writable","internal"]},"description":"The teams the API key owner belongs to, excluding blocked ones."}},"required":["id","email","internal","teams"],"description":"The authenticated API key owner."},"DeliveryOrder":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"mondayId":{"type":"string"},"status":{"type":"string"},"clientName":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","mondayId","status","clientName"],"description":"Internal users only. A Sunday delivery order that can be attached to an internal-team project."},"Project":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/ProjectId"},"name":{"type":"string"},"teamId":{"type":"string"},"status":{"type":"string","enum":["draft","active"]},"deliveryOrderId":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"string","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))$"}},"required":["id","name","teamId","status","deliveryOrderId","createdAt"],"description":"A project: a team-scoped container for pipelines and datasets."},"PipelineId":{"description":"The unique identifier of the pipeline.","type":"string","pattern":"^pl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"Pipeline":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/PipelineId"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"name":{"type":"string"},"version":{"type":"number"},"createdAt":{"type":"string","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))$"},"updatedAt":{"type":"string","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))$"}},"required":["id","projectId","name","version","createdAt","updatedAt"],"description":"A pipeline within a project."},"DatasetId":{"description":"The unique identifier of the dataset.","type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"DatasetProfileStamp":{"type":"object","properties":{"name":{"type":"string","enum":["chat-sft","instruction"]},"version":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["name","version"],"additionalProperties":false,"description":"The dataset profile the columns were constructed from."},"Dataset":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/DatasetId"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"name":{"type":"string"},"hidden":{"type":"boolean"},"profile":{"anyOf":[{"$ref":"#/components/schemas/DatasetProfileStamp"},{"type":"null"}]},"createdAt":{"type":"string","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))$"}},"required":["id","projectId","name","hidden","profile","createdAt"],"description":"A dataset within a project."},"DatasetFieldId":{"description":"The unique identifier of the dataset field.","type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"DatasetFieldCopyOperation":{"type":"object","properties":{"type":{"type":"string","const":"copy"},"sourceFieldId":{"$ref":"#/components/schemas/DatasetFieldId"},"blocking":{"type":"boolean","description":"True when a split or a slice that reads the field is refused until the operation ends; false when it only deserves a warning."}},"required":["type","sourceFieldId","blocking"],"description":"Values are being copied into this field from another field, for example right after it was added from the fields of the uploaded rows, or after an upload."},"DatasetFieldSplitFillOperation":{"type":"object","properties":{"type":{"type":"string","const":"split_fill"},"blocking":{"type":"boolean","description":"True when a split or a slice that reads the field is refused until the operation ends; false when it only deserves a warning."}},"required":["type","blocking"],"description":"Parts are being written into this split column; the split's progress counts them."},"DatasetFieldWriteOperation":{"type":"object","properties":{"type":{"type":"string","const":"write"},"writer":{"type":"string","description":"Who writes the values, as their revisions name it; a Batch Inference Run is `batch-inference-run:<id>`."},"progress":{"anyOf":[{"type":"object","properties":{"done":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["done","total"]},{"type":"null"}],"description":"Rows written so far out of the rows the writer will write, once it knows how many."},"blocking":{"type":"boolean","description":"True when a split or a slice that reads the field is refused until the operation ends; false when it only deserves a warning."}},"required":["type","writer","progress","blocking"],"description":"A background job is writing new values into this field, for example a Batch Inference Run its answers."},"DatasetFieldOperation":{"oneOf":[{"$ref":"#/components/schemas/DatasetFieldCopyOperation"},{"$ref":"#/components/schemas/DatasetFieldSplitFillOperation"},{"$ref":"#/components/schemas/DatasetFieldWriteOperation"}],"description":"A background operation writing into a dataset field."},"DatasetField":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/DatasetFieldId"},"name":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"jsonSchema":{"type":"object","properties":{"type":{"anyOf":[{"type":"string","enum":["string","number","integer","boolean","object","array","null"]},{"minItems":1,"type":"array","items":{"type":"string","enum":["string","number","integer","boolean","object","array","null"]}}]},"properties":{"$ref":"#/components/schemas/__schema0"},"required":{"type":"array","items":{"type":"string"}},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#/components/schemas/__schema1"}]},"items":{"$ref":"#/components/schemas/__schema1"},"minItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"uniqueItems":{"type":"boolean"},"enum":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"const":{"$ref":"#/components/schemas/__schema2"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"pattern":{"type":"string"},"format":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":{"$ref":"#/components/schemas/__schema2"},"examples":{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"anyOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"oneOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"allOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}}},"additionalProperties":false},"internal":{"type":"boolean"},"split":{"anyOf":[{"type":"object","properties":{"parts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"},"roles":{"type":"array","items":{"type":"string","enum":["train","validate","test"]}}},"required":["name","roles"]},"description":"The parts, with their roles: trainings learn on train parts and validate on validate parts. Test parts are held out for evaluations: no training learns on them, and only a training on this column validates on a part that has both the validate and test roles."},"recipe":{"anyOf":[{"type":"object","properties":{"shares":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"},"share":{"type":"number"}},"required":["name","share"]}},"balanceByFieldId":{"anyOf":[{"type":"string","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":"null"}]},"seed":{"type":"integer","minimum":0,"maximum":2147483647}},"required":["shares","balanceByFieldId","seed"]},{"type":"null"}],"description":"How the next fill samples parts; null for an adopted column until a fill gives it shares."},"status":{"type":"string","enum":["filling","ready","failed"],"description":"A slice cannot be taken while the column is filling."},"progress":{"anyOf":[{"type":"object","properties":{"placed":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["placed","total"]},{"type":"null"}],"description":"Rows placed so far while the column is filling."},"lastFill":{"anyOf":[{"type":"object","properties":{"placed":{"type":"integer","minimum":0,"maximum":9007199254740991},"kept":{"type":"integer","minimum":0,"maximum":9007199254740991},"parts":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}}},"required":["placed","kept","parts"]},{"type":"null"}],"description":"The last fill: rows it placed, rows that already had a part, and the rows each part held after it."},"error":{"anyOf":[{"type":"object","properties":{"code":{"type":"string","enum":["too_many_labels","slice_failed"]},"message":{"type":"string"}},"required":["code","message"]},{"type":"null"}],"description":"Why the last fill failed."}},"required":["parts","recipe","status","progress","lastFill","error"]},{"type":"null"}],"description":"Set when this is a split column: each row's value names its part."},"operations":{"type":"array","items":{"$ref":"#/components/schemas/DatasetFieldOperation"},"description":"The background operations writing into this field right now, empty when none is. A split or a slice that reads the field is refused while a blocking one runs."},"createdAt":{"type":"string","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))$"}},"required":["id","name","description","jsonSchema","internal","split","operations","createdAt"],"description":"A field of a dataset."},"InferredField":{"type":"object","properties":{"name":{"type":"string","description":"The field name at this path."},"jsonPath":{"type":"string","description":"The JSONPath locating this field in a dataset item."},"depth":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The nesting depth of this field."},"jsonSchema":{"type":"object","properties":{"type":{"anyOf":[{"type":"string","enum":["string","number","integer","boolean","object","array","null"]},{"minItems":1,"type":"array","items":{"type":"string","enum":["string","number","integer","boolean","object","array","null"]}}]},"properties":{"$ref":"#/components/schemas/__schema0"},"required":{"type":"array","items":{"type":"string"}},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#/components/schemas/__schema1"}]},"items":{"$ref":"#/components/schemas/__schema1"},"minItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"uniqueItems":{"type":"boolean"},"enum":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"const":{"$ref":"#/components/schemas/__schema2"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"pattern":{"type":"string"},"format":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":{"$ref":"#/components/schemas/__schema2"},"examples":{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"anyOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"oneOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"allOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}}},"additionalProperties":false,"description":"The JSON Schema inferred for values at this path."}},"required":["name","jsonPath","depth","jsonSchema"],"description":"A nested field inferred from a dataset upload."},"UploadId":{"description":"The unique identifier of the upload job.","type":"string","pattern":"^dfu\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"UploadJob":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UploadId"},"status":{"type":"string","enum":["pending","running","succeeded","failed"]},"createdAt":{"type":"string","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))$"},"error":{"anyOf":[{"type":"string"},{"type":"null"}]},"result":{"type":"object","properties":{"itemsIngested":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"example":0}},"required":["itemsIngested"]}},"required":["id","status","createdAt","error","result"],"description":"An asynchronous file upload + ingest job. Poll until status is succeeded or failed."},"JsonSchema":{"type":"object","properties":{"type":{"anyOf":[{"type":"string","enum":["string","number","integer","boolean","object","array","null"]},{"minItems":1,"type":"array","items":{"type":"string","enum":["string","number","integer","boolean","object","array","null"]}}]},"properties":{"$ref":"#/components/schemas/__schema0"},"required":{"type":"array","items":{"type":"string"}},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#/components/schemas/__schema1"}]},"items":{"$ref":"#/components/schemas/__schema1"},"minItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"uniqueItems":{"type":"boolean"},"enum":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"const":{"$ref":"#/components/schemas/__schema2"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"pattern":{"type":"string"},"format":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":{"$ref":"#/components/schemas/__schema2"},"examples":{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"anyOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"oneOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"allOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}}},"additionalProperties":false},"PipelineGraphVersion":{"description":"The snapshot version expected to still be active. A stale version is rejected with HTTP 409.","type":"string","pattern":"^ple\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"PipelineCostEstimate":{"type":"object","properties":{"dataset":{"type":"object","properties":{"datasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"itemCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["datasetId","itemCount"],"additionalProperties":false},"total":{"type":"object","properties":{"expected":{"type":"string"},"worstCase":{"type":"string"},"bestCase":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}]},"perItemExpected":{"anyOf":[{"type":"string"},{"type":"null"}]},"perItemWorstCase":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["expected","worstCase","perItemExpected","perItemWorstCase"],"additionalProperties":false},"disclaimer":{"type":"string"},"isInternalPricing":{"default":false,"type":"boolean"},"nodes":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"nodeId":{"type":"string"},"nodeType":{"type":"string","enum":["root","code","generation_sft","match","quorum_sft"]},"nodeNameDisplay":{"type":"string"},"expectedItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"kind":{"type":"string","const":"non-priced"}},"required":["nodeId","nodeType","nodeNameDisplay","expectedItems","kind"],"additionalProperties":false},{"type":"object","properties":{"nodeId":{"type":"string"},"nodeType":{"type":"string","enum":["root","code","generation_sft","match","quorum_sft"]},"nodeNameDisplay":{"type":"string"},"expectedItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"kind":{"type":"string","const":"validation-errors"}},"required":["nodeId","nodeType","nodeNameDisplay","expectedItems","kind"],"additionalProperties":false},{"type":"object","properties":{"nodeId":{"type":"string"},"nodeType":{"type":"string","enum":["root","code","generation_sft","match","quorum_sft"]},"nodeNameDisplay":{"type":"string"},"expectedItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"kind":{"type":"string","const":"priced"},"groupSubtitle":{"type":"object","properties":{"text":{"type":"string"},"explanation":{"type":"string"}},"required":["text"],"additionalProperties":false},"expectedTotal":{"type":"string"},"maxTotal":{"type":"string"},"perItemExpected":{"anyOf":[{"type":"string"},{"type":"null"}]},"displayBreakdown":{"type":"array","items":{"$ref":"#/components/schemas/__schema0"}},"warning":{"type":"string"}},"required":["nodeId","nodeType","nodeNameDisplay","expectedItems","kind","groupSubtitle","expectedTotal","maxTotal","perItemExpected","displayBreakdown"],"additionalProperties":false}]}},"graphVersion":{"$ref":"#/components/schemas/PipelineGraphVersion"}},"required":["dataset","total","disclaimer","nodes","graphVersion"],"additionalProperties":false,"description":"A forecast of pipeline cost for the current graph. Expected and maximum are forecasts; billing is pay-as-you-go.","$defs":{"__schema0":{"type":"object","properties":{"label":{"type":"string"},"labelTooltip":{"type":"string"},"lineId":{"type":"string","enum":["expert_task","llm_qa","video_tool","human_qa_task","onboarding_task","exam_task","synthetic_generation_input_tokens","synthetic_generation_cached_tokens","synthetic_generation_output_tokens"]},"pricePerUnit":{"type":"string"},"quantity":{"type":"string"},"expectedTotal":{"type":"string"},"maxTotal":{"type":"string"},"formula":{"type":"object","properties":{"expected":{"type":"object","properties":{"text":{"type":"string"},"explanation":{"type":"string"}},"required":["text"],"additionalProperties":false},"max":{"type":"string"}},"required":["expected","max"],"additionalProperties":false},"criterionId":{"type":"string"},"criterionLabel":{"type":"string"},"subLines":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/__schema0"},{"type":"object","properties":{"label":{"type":"string"},"labelTooltip":{"type":"string"},"lineId":{"type":"string","enum":["expert_task","llm_qa","video_tool","human_qa_task","onboarding_task","exam_task","synthetic_generation_input_tokens","synthetic_generation_cached_tokens","synthetic_generation_output_tokens"]},"pricePerUnit":{"type":"string"}},"required":["label","lineId","pricePerUnit"],"additionalProperties":false}]}}},"required":["label","pricePerUnit","quantity","expectedTotal","maxTotal"],"additionalProperties":false}}},"RunId":{"description":"The unique identifier of the run.","type":"string","pattern":"^plr\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"RunStats":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"example":0},"completed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"example":0},"failed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"example":0},"canceled":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"example":0},"paused":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"example":0}},"required":["total","completed","failed","canceled","paused"]},"RunJob":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/RunId"},"datasetId":{"$ref":"#/components/schemas/DatasetId"},"status":{"type":"string","enum":["pending","running","succeeded","failed"]},"createdAt":{"type":"string","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))$"},"error":{"anyOf":[{"type":"string"},{"type":"null"}]},"result":{"$ref":"#/components/schemas/RunStats"}},"required":["id","datasetId","status","createdAt","error","result"],"description":"A pipeline run job. Poll until status is succeeded or failed."},"RunSummary":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/RunId"},"datasetId":{"$ref":"#/components/schemas/DatasetId"},"createdAt":{"type":"string","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))$"}},"required":["id","datasetId","createdAt"],"description":"A pipeline run summary; poll GET /runs/:runId for status."},"RunCost":{"type":"object","properties":{"runId":{"$ref":"#/components/schemas/RunId"},"computedAt":{"type":"string","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))$"},"total":{"type":"string","example":"0.3"}},"required":["runId","computedAt","total"],"description":"The cost of the run so far. The value is cumulative and never decreases."},"SampleResult":{"type":"object","properties":{"id":{"description":"Sampling job id. Poll it to see how far the marking has got.","type":"string","pattern":"^dsm\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"target":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"How many rows the sampling is working towards, measured at request time. Nothing is marked yet when this returns; poll the job to watch it fill."}},"required":["id","target"]},"SampleJob":{"type":"object","properties":{"id":{"type":"string","pattern":"^dsm\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"datasetId":{"$ref":"#/components/schemas/DatasetId"},"fieldId":{"description":"Column the marker is written into.","type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"markerValue":{"type":"string","description":"Marker value being written."},"status":{"type":"string","enum":["running","succeeded"],"description":"Whether the marking has finished."},"target":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"How many rows the sampling is working towards."},"marked":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"How many rows carry the marker so far."},"createdAt":{"type":"string","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))$"}},"required":["id","datasetId","fieldId","markerValue","status","target","marked","createdAt"]},"DatasetSlice":{"type":"object","properties":{"id":{"description":"Slice id. The same id always selects the same rows with the same frozen values.","type":"string","pattern":"^dsl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"datasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"name":{"type":"string","minLength":1,"maxLength":120,"description":"The name that tells this slice apart."},"itemFilter":{"anyOf":[{"type":"object","properties":{"fieldValues":{"type":"array","items":{"type":"object","properties":{"jsonPath":{"type":"string","minLength":1},"operator":{"type":"string","enum":["text_eq","text_neq"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"latestOnly":{"default":true,"type":"boolean"},"sources":{"default":[],"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["jsonPath","operator","value","fieldId"],"additionalProperties":false}},"fieldSources":{"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"sources":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["fieldId","sources"],"additionalProperties":false}},"missingRevisionFields":{"type":"array","items":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}}},"additionalProperties":false},{"type":"null"}],"description":"The filter the rows matched when the slice was taken; null for every row."},"frozenFieldIds":{"type":"array","items":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"description":"Columns the slice reads as they were at its cutoff. Other columns read live."},"fromSliceId":{"anyOf":[{"type":"string","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":"null"}],"description":"The slice this one was taken from, if any."},"status":{"type":"string","enum":["creating","ready","failed"],"description":"Only a ready slice can select rows."},"rows":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Rows in the slice once it is ready; 0 until then."},"error":{"anyOf":[{"type":"object","properties":{"code":{"type":"string","enum":["no_rows","cutoff_not_settled"]},"message":{"type":"string"}},"required":["code","message"]},{"type":"null"}],"description":"Why the slice failed."},"cutoff":{"description":"The moment the slice was taken: its rows and its frozen columns are read as they were just before it.","type":"string","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))$"},"createdAt":{"description":"When the slice was requested.","type":"string","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))$"}},"required":["id","datasetId","name","itemFilter","frozenFieldIds","fromSliceId","status","rows","error","cutoff","createdAt"]},"ExportId":{"description":"The unique identifier of the export job.","type":"string","pattern":"^dex\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"DatasetExportReport":{"type":"object","properties":{"validCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"invalidCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"errors":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"itemIndex":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string"}},"required":["itemIndex","reason"],"additionalProperties":false}},"tokens":{"type":"object","properties":{"p50":{"type":"integer","minimum":0,"maximum":9007199254740991},"p95":{"type":"integer","minimum":0,"maximum":9007199254740991},"max":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"default":null,"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"estimatorVersion":{"anyOf":[{"type":"string","enum":["utf16-code-units-div-4-v1","script-weighted-v1"]},{"type":"null"}]}},"required":["p50","p95","max","estimatorVersion"],"additionalProperties":false}},"required":["validCount","invalidCount","errors","tokens"],"additionalProperties":false,"description":"What the assembly produced: how many rows became training examples, how many could not and why, and token statistics over the examples that did."},"ExportJob":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/ExportId"},"datasetId":{"$ref":"#/components/schemas/DatasetId"},"status":{"type":"string","enum":["running","succeeded","failed"]},"createdAt":{"type":"string","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))$"},"result":{"type":"object","properties":{"downloadUrl":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["downloadUrl"]},"report":{"anyOf":[{"$ref":"#/components/schemas/DatasetExportReport"},{"type":"null"}]},"error":{"anyOf":[{"type":"object","properties":{"timestamp":{"type":"string","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))$"},"code":{"type":"string","enum":["empty_selection","size_limit_exceeded","assembly_failed"]},"message":{"type":"string","minLength":1,"maxLength":500}},"required":["timestamp","code","message"]},{"type":"null"}]}},"required":["id","datasetId","status","createdAt","result","report","error"],"description":"An asynchronous dataset export job. Failed jobs include a stable error; successful jobs include a download URL."},"CreatedDatasetFields":{"type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/DatasetField"}}},"required":["fields"],"description":"Dataset fields created in one request.","$defs":{"__schema0":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema1"}},"__schema1":{"type":"object","properties":{"type":{"anyOf":[{"type":"string","enum":["string","number","integer","boolean","object","array","null"]},{"minItems":1,"type":"array","items":{"type":"string","enum":["string","number","integer","boolean","object","array","null"]}}]},"properties":{"$ref":"#/components/schemas/__schema0"},"required":{"type":"array","items":{"type":"string"}},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#/components/schemas/__schema1"}]},"items":{"$ref":"#/components/schemas/__schema1"},"minItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"uniqueItems":{"type":"boolean"},"enum":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"const":{"$ref":"#/components/schemas/__schema2"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"pattern":{"type":"string"},"format":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":{"$ref":"#/components/schemas/__schema2"},"examples":{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"anyOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"oneOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"allOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}}},"additionalProperties":false},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema2"}}]}}},"DatasetItemId":{"description":"The unique identifier of the dataset item.","type":"string","pattern":"^di\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"DatasetItem":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/DatasetItemId"},"index":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"createdAt":{"type":"string","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))$"},"currentSubmissionId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","index","createdAt","currentSubmissionId"],"description":"An item in a dataset."},"InvalidFieldSchema":{"type":"object","properties":{"fieldId":{"type":"string","description":"The id of the field in `graph.fields`."},"text":{"type":"string","description":"The stored JSON Schema text, exactly as saved."},"reason":{"type":"string","description":"Why the stored text is not a usable JSON Schema."}},"required":["fieldId","text","reason"],"description":"A field whose stored JSON Schema is not valid JSON or not a supported JSON Schema."},"PipelineGraphSnapshot":{"type":"object","properties":{"graph":{"type":"object","properties":{"version":{"type":"number","const":1},"fields":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"name":{"type":"string"},"jsonSchema":{"$ref":"#/components/schemas/JsonSchema"}},"required":["id","name","jsonSchema"],"additionalProperties":false}},"nodes":{"maxItems":500,"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"type":{"type":"string","const":"root"},"settings":{"type":"object","properties":{"datasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"itemFilter":{"type":"object","properties":{"fieldValues":{"type":"array","items":{"type":"object","properties":{"jsonPath":{"type":"string","minLength":1},"operator":{"type":"string","enum":["text_eq","text_neq"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"latestOnly":{"default":true,"type":"boolean"},"sources":{"default":[],"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["jsonPath","operator","value","fieldId"],"additionalProperties":false}},"fieldSources":{"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"sources":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["fieldId","sources"],"additionalProperties":false}},"missingRevisionFields":{"type":"array","items":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"slice":{"type":"object","properties":{"sliceId":{"type":"string","pattern":"^dsl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"required":["sliceId"],"additionalProperties":false},"parts":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"names":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}}},"required":["fieldId","names"],"additionalProperties":false},"excludeParts":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"names":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}}},"required":["fieldId","names"],"additionalProperties":false}},"createdBefore":{"type":"string","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))$"}},"additionalProperties":false},"itemLimit":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"startedFieldProxies":{"type":"object","properties":{"output":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"optional":{"type":"boolean"}},"required":["id","optional"],"additionalProperties":false}}},"required":["output"]},"completedFieldProxies":{"type":"object","properties":{"input":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"optional":{"type":"boolean"}},"required":["id","optional"],"additionalProperties":false}}},"required":["input"]}},"required":["startedFieldProxies","completedFieldProxies"],"additionalProperties":false}},"required":["id","type","settings"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"type":{"type":"string","const":"code"},"settings":{"type":"object","properties":{"about":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"projectType":{"type":"string","enum":["general","data_collection"]}},"required":["name"],"additionalProperties":false},"fieldProxies":{"type":"object","properties":{"input":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"optional":{"type":"boolean"}},"required":["id","optional"],"additionalProperties":false}},"output":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"optional":{"type":"boolean"}},"required":["id","optional"],"additionalProperties":false}}},"required":["input","output"]},"code":{"type":"object","properties":{"code":{"type":"string"}},"required":["code"],"additionalProperties":false},"envVars":{"default":[],"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"static"},"name":{"type":"string"},"value":{"type":"string"}},"required":["type","name","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"secret"},"name":{"type":"string"},"secretName":{"type":"string"}},"required":["type","name","secretName"],"additionalProperties":false}]}},"checks":{"type":"object","propertyNames":{"type":"string","enum":["code"]},"additionalProperties":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}}]}},"required":["id","name","input"]}}}},"required":["about","fieldProxies","code"],"additionalProperties":false}},"required":["id","type","settings"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"type":{"type":"string","const":"generation"},"settings":{"type":"object","properties":{"about":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"projectType":{"type":"string","enum":["general","data_collection"]}},"required":["name"],"additionalProperties":false},"publicName":{"type":"string"},"entities":{"type":"object","properties":{"input":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":false},"maxEntities":{"type":"null"}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false},{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":true},"maxEntities":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false}]}},"output":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":false},"maxEntities":{"type":"null"}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false},{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":true},"maxEntities":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false}]}}},"required":["input","output"],"additionalProperties":false},"qualityCriteria":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","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)$"},"qualityElement":{"type":"string"},"thresholds":{"type":"object","properties":{"pass":{"type":"string"},"fail":{"type":"string"}},"required":["pass","fail"]},"targetEntity":{"type":"string"},"llmQaInstruction":{"type":"string","maxLength":5000}},"required":["id","qualityElement","thresholds","targetEntity"]}},"instruction":{"type":"string"},"ui":{"type":"object","properties":{"code":{"type":"string"},"data":{"type":"string"},"preprocess":{"type":"string"},"postprocess":{"default":"return {};","type":"string"},"constants":{"type":"string"}},"required":["code","data","preprocess","constants"]},"qualityAssurance":{"default":{"qaMode":"llm_only","llmQaModelId":"gpt-5.6-terra"},"oneOf":[{"type":"object","properties":{"qaMode":{"type":"string","const":"llm_only"},"llmQaModelId":{"default":"gpt-5.6-terra","type":"string","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"]}},"required":["qaMode"]},{"type":"object","properties":{"qaMode":{"type":"string","const":"human_only"},"smartSamplingPercent":{"default":100,"type":"number","minimum":10,"maximum":100},"humanQaTimeForTask":{"type":"number","exclusiveMinimum":0}},"required":["qaMode"],"additionalProperties":false},{"type":"object","properties":{"qaMode":{"type":"string","const":"hybrid"},"smartSamplingPercent":{"default":30,"type":"number","minimum":10,"maximum":100},"humanQaTimeForTask":{"type":"number","exclusiveMinimum":0},"llmQaModelId":{"default":"gpt-5.6-terra","type":"string","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"]}},"required":["qaMode"],"additionalProperties":false}]},"audienceAndPricing":{"default":{"audienceType":"human","verifiedExperts":true,"audience":{"languages":{"type":"and","values":[]},"specializations":{"type":"and","values":[]},"countries":{"type":"or","values":[]}},"pricePerTask":6,"timeForTask":1800,"perExpertCapEnabled":false,"perExpertCapValue":1},"oneOf":[{"type":"object","properties":{"verifiedExperts":{"type":"boolean"},"audience":{"type":"object","properties":{"languages":{"type":"object","properties":{"type":{"type":"string","enum":["or","and"]},"values":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"}},"required":["value"]}}},"required":["type","values"],"additionalProperties":false},"specializations":{"type":"object","properties":{"type":{"type":"string","enum":["or","and"]},"values":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"qualificationId":{"type":"string"}},"required":["value","qualificationId"],"additionalProperties":false}}},"required":["type","values"],"additionalProperties":false},"countries":{"type":"object","properties":{"type":{"type":"string","enum":["or"]},"values":{"type":"array","items":{"type":"string"}}},"required":["type","values"],"additionalProperties":false}},"required":["languages","specializations","countries"],"additionalProperties":false},"pricePerTask":{"type":"number"},"timeForTask":{"type":"number"},"perExpertCapEnabled":{"default":false,"type":"boolean"},"perExpertCapValue":{"default":1,"type":"integer","exclusiveMinimum":0,"maximum":50},"audienceType":{"type":"string","const":"human"}},"required":["verifiedExperts","audience","pricePerTask","timeForTask","audienceType"],"additionalProperties":false},{"type":"object","properties":{"audienceType":{"type":"string","const":"synthetic"},"generationModelId":{"default":"gpt-5.6-terra","type":"string","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"]},"reasoningEffort":{"type":"string","enum":["low","medium","high"]},"llmInstruction":{"default":"","type":"string"},"maxCostPerAttempt":{"type":"number"}},"required":["audienceType","maxCostPerAttempt"],"additionalProperties":false}]},"onboarding":{"type":"object","properties":{"enabled":{"type":"boolean"},"steps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"blocks":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"info"},"estimatedTime":{"type":"string"},"role":{"type":"string"},"goal":{"type":"string"},"successCriteria":{"type":"string"}},"required":["id","type","estimatedTime","role","goal","successCriteria"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"text"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}}},"required":["id","type"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"quiz"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["single-choice","multiple-choice"]},"title":{"type":"string"},"question":{"type":"string"},"hint":{"type":"string"},"correctAnswerFeedback":{"type":"string"},"incorrectAnswerFeedback":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"label":{"type":"string"}},"required":["value","label"]}},"correctAnswer":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["id","type","question","options","correctAnswer"]}}},"required":["id","type","questions"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"practice"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"imageUrl":{"type":"string"},"editorType":{"type":"string"},"editorConfig":{"type":"object","properties":{"rows":{"type":"number"},"language":{"type":"string"},"placeholder":{"type":"string"}}},"validators":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"criteria":{"type":"string"}},"required":["id","name","description","criteria"]}}},"required":["id","type"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"examples"},"title":{"type":"string"},"examples":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"input":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema3"}},"checks":{"maxItems":10,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"exact"},"path":{"type":"string"},"golden":{"$ref":"#/components/schemas/__schema4"},"hint":{"type":"string"}},"required":["type","path","golden","hint"]},{"type":"object","properties":{"type":{"type":"string","const":"code"},"code":{"type":"string"},"hint":{"type":"string"}},"required":["type","code","hint"]},{"type":"object","properties":{"type":{"type":"string","const":"llm"},"paths":{"type":"array","items":{"type":"string"}},"criteria":{"type":"string"},"reference":{"type":"string"},"hint":{"type":"string"},"imageUrl":{"type":"string"}},"required":["type","paths","criteria"]}]}},"explanation":{"type":"string"},"sourceItemId":{"type":"string"}},"required":["id","input","checks"]}}},"required":["id","type","examples"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"consent"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"consentLabel":{"type":"string"}},"required":["id","type","consentLabel"]}]}}},"required":["id"]}},"info":{"type":"object","properties":{"estimatedTime":{"type":"string"},"role":{"type":"string"},"goal":{"type":"string"},"successCriteria":{"type":"string"}},"required":["estimatedTime","role","goal","successCriteria"]}},"required":["enabled","steps","info"]},"exam":{"type":"object","properties":{"enabled":{"type":"boolean"},"gradedEntities":{"type":"array","items":{"type":"object","properties":{"targetEntity":{"type":"string"},"mode":{"type":"string","enum":["ground_truth","quality_criteria","not_graded"]},"groundTruthType":{"type":"string","enum":["direct","custom"]},"customInstruction":{"type":"string"},"disabledCriterionIds":{"type":"array","items":{"type":"string","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)$"}}},"required":["targetEntity","mode","groundTruthType","customInstruction","disabledCriterionIds"],"additionalProperties":false}},"goldenDatasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"tasksPerExpert":{"type":"integer","minimum":1,"maximum":9007199254740991},"passThreshold":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["enabled","gradedEntities","tasksPerExpert","passThreshold"],"additionalProperties":false},"reuseAudienceWithNodeId":{"anyOf":[{"type":"object","properties":{"pipelineId":{"type":"string","pattern":"^pl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"nodeId":{"type":"string"}},"required":["pipelineId","nodeId"],"additionalProperties":false},{"type":"null"}]},"smartSearch":{"default":null,"anyOf":[{"type":"object","properties":{"briefDescription":{"type":"string"},"projectDescription":{"anyOf":[{"type":"string"},{"type":"null"}]},"extraHardRequirements":{"type":"array","items":{"type":"string"}},"relevanceCriteria":{"type":"array","items":{"type":"string"}},"typicalJobTitles":{"type":"array","items":{"type":"string"}},"idealCandidateProfile":{"type":"string"},"whoIsNotAFit":{"type":"array","items":{"type":"string"}},"sourceFingerprint":{"type":"string"}},"required":["briefDescription","projectDescription","extraHardRequirements","relevanceCriteria","typicalJobTitles","idealCandidateProfile","whoIsNotAFit"],"additionalProperties":false},{"type":"null"}]},"checks":{"type":"object","propertyNames":{"type":"string","enum":["ui","llmqa","annotation_qa","qc_lint","ui_types_lint","exam_dataset","synthgen"]},"additionalProperties":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}}]}},"required":["id","name","input"]}}}},"required":["about","publicName","entities","qualityCriteria","instruction","ui","onboarding"],"additionalProperties":false}},"required":["id","type","settings"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"type":{"type":"string","const":"match"},"settings":{"type":"object","properties":{"about":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"projectType":{"type":"string","enum":["general","data_collection"]}},"required":["name"],"additionalProperties":false},"conditions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"logic":{"default":"and","type":"string","enum":["and","or"]},"predicates":{"type":"array","items":{"type":"object","properties":{"fieldProxyId":{"type":"string"},"jsonPath":{"type":"string"},"operator":{"type":"string","enum":["text_eq","text_neq"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]}},"required":["fieldProxyId","jsonPath","operator","value"],"additionalProperties":false}}},"required":["name","predicates"],"additionalProperties":false}},"fieldProxies":{"type":"object","properties":{"input":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"optional":{"type":"boolean"}},"required":["id","optional"],"additionalProperties":false}}},"required":["input"]}},"required":["about","conditions","fieldProxies"],"additionalProperties":false}},"required":["id","type","settings"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"type":{"type":"string","const":"quorum"},"settings":{"type":"object","properties":{"about":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"projectType":{"type":"string","enum":["general","data_collection"]}},"required":["name"],"additionalProperties":false},"publicName":{"type":"string"},"audienceAndPricing":{"default":{"audienceType":"human","verifiedExperts":true,"audience":{"languages":{"type":"and","values":[]},"specializations":{"type":"and","values":[]},"countries":{"type":"or","values":[]}},"pricePerTask":6,"timeForTask":1800,"perExpertCapEnabled":false,"perExpertCapValue":1},"type":"object","properties":{"verifiedExperts":{"type":"boolean"},"audience":{"type":"object","properties":{"languages":{"type":"object","properties":{"type":{"type":"string","enum":["or","and"]},"values":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"}},"required":["value"]}}},"required":["type","values"],"additionalProperties":false},"specializations":{"type":"object","properties":{"type":{"type":"string","enum":["or","and"]},"values":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"qualificationId":{"type":"string"}},"required":["value","qualificationId"],"additionalProperties":false}}},"required":["type","values"],"additionalProperties":false},"countries":{"type":"object","properties":{"type":{"type":"string","enum":["or"]},"values":{"type":"array","items":{"type":"string"}}},"required":["type","values"],"additionalProperties":false}},"required":["languages","specializations","countries"],"additionalProperties":false},"pricePerTask":{"type":"number"},"timeForTask":{"type":"number"},"perExpertCapEnabled":{"default":false,"type":"boolean"},"perExpertCapValue":{"default":1,"type":"integer","exclusiveMinimum":0,"maximum":50},"audienceType":{"type":"string","const":"human"}},"required":["verifiedExperts","audience","pricePerTask","timeForTask","audienceType"],"additionalProperties":false},"entities":{"type":"object","properties":{"input":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":false},"maxEntities":{"type":"null"}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false},{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":true},"maxEntities":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false}]}},"output":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":false},"maxEntities":{"type":"null"}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false},{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":true},"maxEntities":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false}]}}},"required":["input","output"],"additionalProperties":false},"qualityCriteria":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","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)$"},"qualityElement":{"type":"string"},"thresholds":{"type":"object","properties":{"pass":{"type":"string"},"fail":{"type":"string"}},"required":["pass","fail"]},"targetEntity":{"type":"string"},"llmQaInstruction":{"type":"string","maxLength":5000}},"required":["id","qualityElement","thresholds","targetEntity"]}},"offboardingRules":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"type":"string","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":{"type":"string","enum":["mv_agreement"]},"agreementScale":{"type":"string"}},"required":["id"],"additionalProperties":false}},"instruction":{"type":"string"},"ui":{"type":"object","properties":{"code":{"type":"string"},"data":{"type":"string"},"preprocess":{"type":"string"},"postprocess":{"default":"return {};","type":"string"},"constants":{"type":"string"}},"required":["code","data","preprocess","constants"]},"qualityAssurance":{"default":{"qaMode":"llm_only","llmQaModelId":"gpt-5.6-terra"},"oneOf":[{"type":"object","properties":{"qaMode":{"type":"string","const":"llm_only"},"llmQaModelId":{"default":"gpt-5.6-terra","type":"string","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"]}},"required":["qaMode"]},{"type":"object","properties":{"qaMode":{"type":"string","const":"none"}},"required":["qaMode"]}]},"overlap":{"type":"integer","minimum":1,"maximum":100},"onboarding":{"type":"object","properties":{"enabled":{"type":"boolean"},"steps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"blocks":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"info"},"estimatedTime":{"type":"string"},"role":{"type":"string"},"goal":{"type":"string"},"successCriteria":{"type":"string"}},"required":["id","type","estimatedTime","role","goal","successCriteria"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"text"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}}},"required":["id","type"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"quiz"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["single-choice","multiple-choice"]},"title":{"type":"string"},"question":{"type":"string"},"hint":{"type":"string"},"correctAnswerFeedback":{"type":"string"},"incorrectAnswerFeedback":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"label":{"type":"string"}},"required":["value","label"]}},"correctAnswer":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["id","type","question","options","correctAnswer"]}}},"required":["id","type","questions"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"practice"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"imageUrl":{"type":"string"},"editorType":{"type":"string"},"editorConfig":{"type":"object","properties":{"rows":{"type":"number"},"language":{"type":"string"},"placeholder":{"type":"string"}}},"validators":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"criteria":{"type":"string"}},"required":["id","name","description","criteria"]}}},"required":["id","type"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"examples"},"title":{"type":"string"},"examples":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"input":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema3"}},"checks":{"maxItems":10,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"exact"},"path":{"type":"string"},"golden":{"$ref":"#/components/schemas/__schema4"},"hint":{"type":"string"}},"required":["type","path","golden","hint"]},{"type":"object","properties":{"type":{"type":"string","const":"code"},"code":{"type":"string"},"hint":{"type":"string"}},"required":["type","code","hint"]},{"type":"object","properties":{"type":{"type":"string","const":"llm"},"paths":{"type":"array","items":{"type":"string"}},"criteria":{"type":"string"},"reference":{"type":"string"},"hint":{"type":"string"},"imageUrl":{"type":"string"}},"required":["type","paths","criteria"]}]}},"explanation":{"type":"string"},"sourceItemId":{"type":"string"}},"required":["id","input","checks"]}}},"required":["id","type","examples"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"consent"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"consentLabel":{"type":"string"}},"required":["id","type","consentLabel"]}]}}},"required":["id"]}},"info":{"type":"object","properties":{"estimatedTime":{"type":"string"},"role":{"type":"string"},"goal":{"type":"string"},"successCriteria":{"type":"string"}},"required":["estimatedTime","role","goal","successCriteria"]}},"required":["enabled","steps","info"]},"exam":{"type":"object","properties":{"enabled":{"type":"boolean"},"gradedEntities":{"type":"array","items":{"type":"object","properties":{"targetEntity":{"type":"string"},"mode":{"type":"string","enum":["ground_truth","quality_criteria","not_graded"]},"groundTruthType":{"type":"string","enum":["direct","custom"]},"customInstruction":{"type":"string"},"disabledCriterionIds":{"type":"array","items":{"type":"string","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)$"}}},"required":["targetEntity","mode","groundTruthType","customInstruction","disabledCriterionIds"],"additionalProperties":false}},"goldenDatasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"tasksPerExpert":{"type":"integer","minimum":1,"maximum":9007199254740991},"passThreshold":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["enabled","gradedEntities","tasksPerExpert","passThreshold"],"additionalProperties":false},"reuseAudienceWithNodeId":{"anyOf":[{"type":"object","properties":{"pipelineId":{"type":"string","pattern":"^pl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"nodeId":{"type":"string"}},"required":["pipelineId","nodeId"],"additionalProperties":false},{"type":"null"}]},"smartSearch":{"default":null,"anyOf":[{"type":"object","properties":{"briefDescription":{"type":"string"},"projectDescription":{"anyOf":[{"type":"string"},{"type":"null"}]},"extraHardRequirements":{"type":"array","items":{"type":"string"}},"relevanceCriteria":{"type":"array","items":{"type":"string"}},"typicalJobTitles":{"type":"array","items":{"type":"string"}},"idealCandidateProfile":{"type":"string"},"whoIsNotAFit":{"type":"array","items":{"type":"string"}},"sourceFingerprint":{"type":"string"}},"required":["briefDescription","projectDescription","extraHardRequirements","relevanceCriteria","typicalJobTitles","idealCandidateProfile","whoIsNotAFit"],"additionalProperties":false},{"type":"null"}]},"checks":{"type":"object","propertyNames":{"type":"string","enum":["ui","llmqa","annotation_qa","qc_lint","ui_types_lint","exam_dataset"]},"additionalProperties":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}}]}},"required":["id","name","input"]}}}},"required":["about","publicName","entities","qualityCriteria","instruction","ui","overlap","onboarding"],"additionalProperties":false}},"required":["id","type","settings"],"additionalProperties":false}]}},"connections":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"from":{"type":"object","properties":{"node":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"handle":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"}},"required":["node","handle"],"additionalProperties":false},"to":{"type":"object","properties":{"node":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"handle":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"}},"required":["node","handle"],"additionalProperties":false},"settings":{"type":"object","properties":{},"additionalProperties":{}}},"required":["from","to","settings"],"additionalProperties":false}},"layout":{"type":"object","propertyNames":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"additionalProperties":{"type":"object","propertyNames":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"additionalProperties":{"type":"array","prefixItems":[{"type":"number","description":"X"},{"type":"number","description":"Y"}]},"maxProperties":2},"maxProperties":500}},"required":["version","fields","nodes","connections"],"additionalProperties":false},"version":{"$ref":"#/components/schemas/PipelineGraphVersion"},"invalidFieldSchemas":{"maxItems":500,"type":"array","items":{"$ref":"#/components/schemas/InvalidFieldSchema"},"description":"Fields whose stored JSON Schema cannot be read, for example after an unfinished edit in the UI. Each one appears in `graph.fields` with a placeholder schema that only carries a description; replace the graph with a valid schema for the field to repair it."}},"required":["graph","version","invalidFieldSchemas"],"description":"A live pipeline graph and the version required for conflict-safe replacement.","$defs":{"__schema0":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema1"}},"__schema1":{"type":"object","properties":{"type":{"anyOf":[{"type":"string","enum":["string","number","integer","boolean","object","array","null"]},{"minItems":1,"type":"array","items":{"type":"string","enum":["string","number","integer","boolean","object","array","null"]}}]},"properties":{"$ref":"#/components/schemas/__schema0"},"required":{"type":"array","items":{"type":"string"}},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#/components/schemas/__schema1"}]},"items":{"$ref":"#/components/schemas/__schema1"},"minItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"uniqueItems":{"type":"boolean"},"enum":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"const":{"$ref":"#/components/schemas/__schema2"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"pattern":{"type":"string"},"format":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":{"$ref":"#/components/schemas/__schema2"},"examples":{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"anyOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"oneOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"allOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}}},"additionalProperties":false},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema2"}}]},"__schema3":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema3"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema3"}}]},"__schema4":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema4"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema4"}}]}}},"PipelineValidationIssue":{"type":"object","properties":{"severity":{"type":"string","enum":["error","warning"]},"code":{"type":"string"},"message":{"type":"string"},"nodeId":{"type":"string"},"checkId":{"type":"string"}},"required":["severity","code","message"],"description":"One platform validation finding on a submitted pipeline graph."},"CheckRunId":{"description":"The unique identifier of a check run.","type":"string","pattern":"^plcr\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"CheckReport":{"anyOf":[{"type":"object","properties":{"findings":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"missing_required_values"},"fieldProxyId":{"type":"string"},"fieldName":{"type":"string"},"itemCount":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"sampleItemIds":{"type":"array","items":{"type":"string"}},"explanation":{"type":"string"}},"required":["type","fieldProxyId","fieldName","itemCount","sampleItemIds","explanation"]},{"type":"object","properties":{"type":{"type":"string","const":"field_missing"},"fieldProxyId":{"type":"string"},"fieldName":{"type":"string"},"explanation":{"type":"string"}},"required":["type","fieldProxyId","fieldName","explanation"]},{"type":"object","properties":{"type":{"type":"string","const":"no_items_matched"},"explanation":{"type":"string"}},"required":["type","explanation"]}]}},"checkedItemCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["findings","checkedItemCount"]},{"type":"object","properties":{"findings":{"type":"array","items":{"type":"object","properties":{"settingName":{"type":"string","enum":["code","data","preprocess","postprocess","constants"]},"severity":{"type":"string","enum":["error","warning"]},"message":{"type":"string"}},"required":["settingName","severity","message"]}},"truncatedFindingCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["findings","truncatedFindingCount"]},{"type":"object","properties":{"findings":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"golden_field_missing"},"entityName":{"type":"string"},"fieldProxyId":{"type":"string"},"explanation":{"type":"string"}},"required":["type","entityName","fieldProxyId","explanation"]},{"type":"object","properties":{"type":{"type":"string","const":"missing_golden_values"},"entityName":{"type":"string"},"fieldProxyId":{"type":"string"},"itemCount":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"sampleItemIds":{"type":"array","items":{"type":"string"}},"explanation":{"type":"string"}},"required":["type","entityName","fieldProxyId","itemCount","sampleItemIds","explanation"]},{"type":"object","properties":{"type":{"type":"string","const":"invalid_golden_values"},"entityName":{"type":"string"},"fieldProxyId":{"type":"string"},"itemCount":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"sampleItemIds":{"type":"array","items":{"type":"string"}},"explanation":{"type":"string"}},"required":["type","entityName","fieldProxyId","itemCount","sampleItemIds","explanation"]},{"type":"object","properties":{"type":{"type":"string","const":"missing_input_values"},"fieldName":{"type":"string"},"fieldProxyId":{"type":"string"},"itemCount":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"sampleItemIds":{"type":"array","items":{"type":"string"}},"explanation":{"type":"string"}},"required":["type","fieldName","fieldProxyId","itemCount","sampleItemIds","explanation"]},{"type":"object","properties":{"type":{"type":"string","const":"input_field_missing"},"fieldName":{"type":"string"},"fieldProxyId":{"type":"string"},"explanation":{"type":"string"}},"required":["type","fieldName","fieldProxyId","explanation"]},{"type":"object","properties":{"type":{"type":"string","const":"no_items"},"explanation":{"type":"string"}},"required":["type","explanation"]},{"type":"object","properties":{"type":{"type":"string","const":"not_enough_items"},"itemCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"tasksPerExpert":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"explanation":{"type":"string"}},"required":["type","itemCount","tasksPerExpert","explanation"]},{"type":"object","properties":{"type":{"type":"string","const":"too_many_items"},"itemCount":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"explanation":{"type":"string"}},"required":["type","itemCount","explanation"]},{"type":"object","properties":{"type":{"type":"string","const":"golden_values_too_large"},"totalValueBytes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"explanation":{"type":"string"}},"required":["type","totalValueBytes","explanation"]}]}},"checkedItemCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["findings","checkedItemCount"]},{"type":"object","properties":{"findings":{"type":"array","items":{"type":"object","properties":{"criterionId":{"type":"string"},"settingName":{"type":"string","enum":["qualityElement","targetEntity","thresholds.pass","thresholds.fail"]},"flag":{"type":"string","enum":["redundant","guideline_conflict","entity_irrelevant","not_in_ui","not_atomic","measures_input_not_signal","unanchored_subjective","ui_check","dataset_level"]},"explanation":{"type":"string"}},"required":["criterionId","settingName","flag","explanation"]}}},"required":["findings"]},{"type":"object","properties":{"tokens":{"type":"object","properties":{"input":{"type":"integer","minimum":0,"maximum":9007199254740991},"cached":{"type":"integer","minimum":0,"maximum":9007199254740991},"output":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["input","cached","output"]}},"required":["tokens"]},{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"criterionId":{"type":"string"},"verdict":{"type":"string","enum":["pass","fail","unable_to_process","incorrect_data","jsonpath_error","error","skipped"]}},"required":["criterionId","verdict"]}}},"required":["results"]}]},"CheckJob":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/CheckRunId"},"pipelineId":{"$ref":"#/components/schemas/PipelineId"},"nodeId":{"type":"string"},"checkId":{"type":"string"},"status":{"type":"string","enum":["pending","running","succeeded","failed"]},"createdAt":{"type":"string","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))$"},"error":{"anyOf":[{"type":"string"},{"type":"null"}]},"result":{"type":"object","properties":{"output":{"anyOf":[{"$ref":"#/components/schemas/__schema0"},{"type":"null"}]},"report":{"anyOf":[{"$ref":"#/components/schemas/CheckReport"},{"type":"null"}]}}}},"required":["id","pipelineId","nodeId","checkId","status","createdAt","result"],"description":"An asynchronous pipeline check job. Poll until status is succeeded or failed.","$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema0"}}]}}},"PipelineValidationReport":{"type":"object","properties":{"valid":{"type":"boolean"},"issues":{"type":"array","items":{"$ref":"#/components/schemas/PipelineValidationIssue"}},"checks":{"type":"array","items":{"$ref":"#/components/schemas/CheckJob"}}},"required":["valid","issues","checks"],"description":"Platform validation of a submitted graph: spec errors, check status, and the latest matching check jobs. Does not write the graph.","$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema0"}}]}}},"CreateScopedTokenBody":{"anyOf":[{"type":"object","properties":{"preset":{"type":"string","enum":["read","write","deploy","labeling-read","labeling-write","labeling-deploy"],"description":"A named permission set: `read` (Read everything), `write` (Read and write, no spending), `deploy` (Read, write and launch runs that spend money), `labeling-read` (Data labeling: read), `labeling-write` (Data labeling: read and write, no spending), `labeling-deploy` (Data labeling: read, write and launch pipelines)."},"projectIds":{"maxItems":20,"type":"array","items":{"$ref":"#/components/schemas/ProjectId"},"description":"Further projects the token may act in; the project in the path is always included. All projects must belong to the same team."},"expiresInSeconds":{"type":"integer","minimum":60,"maximum":21600}},"required":["preset"]},{"type":"object","properties":{"permissions":{"minItems":1,"type":"array","items":{"type":"string"},"description":"Explicit `resource:operation` permissions."},"projectIds":{"maxItems":20,"type":"array","items":{"$ref":"#/components/schemas/ProjectId"},"description":"Further projects the token may act in; the project in the path is always included. All projects must belong to the same team."},"expiresInSeconds":{"type":"integer","minimum":60,"maximum":21600}},"required":["permissions"]}]},"ScopedToken":{"type":"object","properties":{"id":{"description":"Public handle of the token; use it to revoke without holding the secret.","type":"string","pattern":"^pst\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"token":{"type":"string","description":"The bearer token. Shown once; only its digest is stored."},"expiresAt":{"description":"When the token stops working.","type":"string","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))$"}},"required":["id","token","expiresAt"]},"ScopedTokenSummary":{"type":"object","properties":{"id":{"type":"string","pattern":"^pst\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"userId":{"type":"string","description":"The user the token acts as."},"projectIds":{"type":"array","items":{"$ref":"#/components/schemas/ProjectId"},"description":"Projects the token can act in."},"permissions":{"type":"array","items":{"type":"string"}},"createdAt":{"type":"string","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))$"},"expiresAt":{"type":"string","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))$"}},"required":["id","userId","projectIds","permissions","createdAt","expiresAt"]},"RevokedScopedTokens":{"type":"object","properties":{"revokedCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"How many live tokens were revoked."}},"required":["revokedCount"]},"ProjectSecretName":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-zA-Z][a-zA-Z0-9_-]*$","description":"The name of a project secret."},"ProjectSecret":{"type":"object","properties":{"name":{"$ref":"#/components/schemas/ProjectSecretName"},"createdAt":{"type":"string","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))$"},"updatedAt":{"type":"string","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))$"}},"required":["name","createdAt","updatedAt"],"description":"Metadata for a project secret. Secret values are never returned."},"ProjectFileId":{"description":"The unique identifier of a project file.","type":"string","pattern":"^ppf\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"ProjectFile":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/ProjectFileId"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"filename":{"type":"string"},"status":{"type":"string","enum":["pending","uploaded","failed"]},"declaredSizeBytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"uploadedSizeBytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"createdAt":{"type":"string","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))$"},"uploadedAt":{"anyOf":[{"type":"string","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":"null"}]},"url":{"type":"string","description":"Download URL on this API. A human credential is redirected (302) to the storage URL; a scoped token receives it as a JSON body `{ \"url\": ... }` instead, so the token never travels to the storage host."}},"required":["id","projectId","filename","status","declaredSizeBytes","uploadedSizeBytes","createdAt","uploadedAt","url"],"description":"A file stored in a project."},"RunItemId":{"description":"The unique identifier of a run item.","type":"string","pattern":"^plri\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"RunItemState":{"type":"object","properties":{"status":{"type":"string","enum":["idle","in_progress","completed","failed","canceled","paused"]},"startedAt":{"anyOf":[{"type":"string","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":"null"}]},"finishedAt":{"anyOf":[{"type":"string","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":"null"}]},"error":{"anyOf":[{"type":"string"},{"type":"null"}]},"input":{"anyOf":[{"type":"object","properties":{"fieldProxyRevisions":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}}},"required":["fieldProxyRevisions"]},{"type":"null"}]},"output":{"anyOf":[{"type":"object","properties":{"fieldProxyRevisions":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}}},"required":["fieldProxyRevisions"]},{"type":"null"}],"description":"The End field revisions of a completed item. Null for other statuses."},"partialOutput":{"anyOf":[{"type":"object","properties":{"fieldProxyRevisions":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}}},"required":["fieldProxyRevisions"]},{"type":"null"}],"description":"For a canceled item, the End field revisions that had a value at the cancel, including End fields taken straight from the input. Null for other statuses and when no node wrote an End field."}},"required":["status","startedAt","finishedAt","input","output","partialOutput"],"description":"The current state and pipeline-level input, output and partial output revision references for a run item."},"RunItem":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/RunItemId"},"runId":{"$ref":"#/components/schemas/RunId"},"datasetItemId":{"$ref":"#/components/schemas/DatasetItemId"},"index":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"type":"string","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))$"},"updatedAt":{"type":"string","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))$"},"state":{"$ref":"#/components/schemas/RunItemState"}},"required":["id","runId","datasetItemId","index","createdAt","updatedAt","state"],"description":"One item processed by a pipeline run."},"RunLintsResult":{"type":"object","properties":{"checks":{"type":"array","items":{"$ref":"#/components/schemas/CheckJob"},"description":"The lint check jobs on the pipeline active graph after the request: lints that already had a result keep it, the others were started."},"rejected":{"type":"array","items":{"type":"object","properties":{"nodeId":{"type":"string"},"checkId":{"type":"string"},"message":{"type":"string"}},"required":["nodeId","checkId","message"]},"description":"Lints that could not start, usually because their node has configuration errors."},"nodesInUse":{"type":"array","items":{"type":"string"},"description":"Nodes on the path from Start to End. Only lints of these nodes block a deploy; lints of other nodes are reported but never block."}},"required":["checks","rejected","nodesInUse"],"description":"The lints of a pipeline after a request to run them.","$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema0"}}]}}},"BatchInferenceModel":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"base_model"},"baseModelId":{"type":"string","enum":["qwen3-4b","qwen3-8b","qwen3-32b","qwen3-235b"]}},"required":["type","baseModelId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"model_version"},"modelVersionId":{"type":"string","pattern":"^mdv\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"required":["type","modelVersionId"],"additionalProperties":false}],"description":"The model that answers: a catalog Base Model, or a Model Version of this project (a LoRA adapter or full weights). More model types may be added, so branch on `type`."},"BatchInferenceMode":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"single_turn"}},"required":["type"],"additionalProperties":false}],"description":"How each row is answered. A run created without a mode uses `single_turn`: one model call per row, whose answer is written as text. More modes may be added, so branch on `type`."},"BatchInferenceRunId":{"description":"The unique identifier of a Batch Inference Run.","type":"string","pattern":"^bir\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"BatchInferenceRun":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/BatchInferenceRunId"},"projectId":{"$ref":"#/components/schemas/ProjectId"},"datasetId":{"$ref":"#/components/schemas/DatasetId"},"model":{"$ref":"#/components/schemas/BatchInferenceModel"},"mode":{"$ref":"#/components/schemas/BatchInferenceMode"},"sampling":{"type":"object","properties":{"maxOutputTokens":{"type":"integer","minimum":1,"maximum":8192},"temperature":{"default":0,"type":"number","minimum":0,"maximum":2},"topP":{"type":"number","exclusiveMinimum":0,"maximum":1},"stop":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"string","minLength":1,"maxLength":64}},"seed":{"type":"integer","minimum":0,"maximum":2147483647},"samplesPerRow":{"default":1,"type":"integer","minimum":1,"maximum":16}},"required":["maxOutputTokens"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string","enum":["field","dataset"]},"datasetId":{"$ref":"#/components/schemas/DatasetId"},"fieldId":{"$ref":"#/components/schemas/DatasetFieldId"}},"required":["type","datasetId","fieldId"]},"status":{"type":"string","enum":["preparing","awaiting_confirmation","queued","running","writing_outputs","stopping","blocked","completed","failed","canceled"]},"progress":{"anyOf":[{"type":"object","properties":{"phase":{"type":"string","enum":["queued","preparing","generating","finishing"]},"requests":{"type":"object","properties":{"done":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["done","total"],"additionalProperties":false}},"required":["phase"],"additionalProperties":false},{"type":"null"}]},"blockedReason":{"anyOf":[{"type":"string","enum":["funds","payment","billing_review"]},{"type":"null"}]},"message":{"anyOf":[{"type":"string"},{"type":"null"}]},"error":{"anyOf":[{"type":"object","properties":{"code":{"anyOf":[{"type":"string","enum":["requests_export_failed","no_requests","selection_too_large","billing_rejected","provider_failed","provider_timeout","invalid_provider_output","output_rejected","payment_window_expired"]},{"type":"string","const":"canceled"}]},"message":{"type":"string","maxLength":500}},"required":["code","message"]},{"type":"null"}]},"quote":{"anyOf":[{"type":"object","properties":{"requests":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"skippedRows":{"type":"integer","minimum":0,"maximum":9007199254740991},"maximumCharge":{"type":"string","pattern":"^(0|[1-9][0-9]*)(\\.[0-9]+)?$"},"currency":{"type":"string","const":"USD"},"confirmBefore":{"anyOf":[{"type":"string","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":"null"}]}},"required":["requests","skippedRows","maximumCharge","currency","confirmBefore"]},{"type":"null"}]},"chargedAmount":{"anyOf":[{"type":"string","pattern":"^(0|[1-9][0-9]*)(\\.[0-9]+)?$"},{"type":"null"}]},"result":{"anyOf":[{"type":"object","properties":{"written":{"type":"integer","minimum":0,"maximum":9007199254740991},"failed":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"integer","minimum":0,"maximum":9007199254740991},"inputTokens":{"type":"integer","minimum":0,"maximum":9007199254740991},"outputTokens":{"type":"integer","minimum":0,"maximum":9007199254740991},"errorCounts":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":64},"additionalProperties":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"errorSamples":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"itemId":{"type":"string","minLength":1,"maxLength":128},"code":{"type":"string","minLength":1,"maxLength":64},"message":{"type":"string","minLength":1}},"required":["itemId","code","message"],"additionalProperties":false}}},"required":["written","failed","truncated","inputTokens","outputTokens","errorCounts","errorSamples"],"additionalProperties":false},{"type":"null"}]},"createdAt":{"type":"string","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))$"},"updatedAt":{"type":"string","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))$"}},"required":["id","projectId","datasetId","model","mode","sampling","output","status","progress","blockedReason","message","error","quote","chargedAmount","result","createdAt","updatedAt"],"description":"One Batch Inference Run: its quote, progress, charge and where its completions landed."}}},"tags":[{"name":"Account","description":"The authenticated API key owner."},{"name":"Projects","description":"A project is the container for pipelines, datasets, and files."},{"name":"Delivery orders","description":"Internal users only. Sunday delivery orders that internal teams attach when creating a project."},{"name":"Pipelines","description":"A pipeline is a graph of nodes that processes each dataset item."},{"name":"Pipeline graph","description":"The nodes, edges, and field proxies of a pipeline, versioned as a checkpoint."},{"name":"Datasets","description":"Rows and typed columns. Column schemas are immutable once created."},{"name":"Dataset uploads","description":"Append rows to a dataset from a file."},{"name":"Dataset exports","description":"Read a dataset out as a file."},{"name":"Runs","description":"Execute a pipeline over a dataset and inspect each item."},{"name":"Checks","description":"Per-node checks that a pipeline must pass before deployment."},{"name":"Secrets","description":"Named credentials that node code reads by name, never by value."},{"name":"Files","description":"Project files that pipeline code and task UIs can reference."},{"name":"Models","description":"Project-owned Models and immutable Model Versions."},{"name":"Base models","description":"Global, read-only base model catalog."},{"name":"Trainings","description":"Project-owned mutable model-training drafts."},{"name":"Audience","description":"Global, read-only catalog of the expert audience: the values a node `audience` filter can use."},{"name":"Generation models","description":"Global, read-only catalog of the models a synthetic generation node can use, with their budget bounds."}],"security":[{"apiKeyAuth":[]},{"scopedTokenAuth":[]}],"servers":[{"url":"https://platform.toloka.ai"}],"paths":{"/api/v2-beta/base-models":{"get":{"operationId":"listBaseModels","tags":["Base models"],"summary":"List base models","description":"List the global code-owned base model catalog.","responses":{"200":{"description":"Base model catalog","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"type":"object","properties":{"baseModels":{"type":"array","items":{"$ref":"#/components/schemas/BaseModel"}}},"required":["baseModels"]}}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/base-models/{baseModelId}":{"get":{"operationId":"getBaseModel","parameters":[{"in":"path","name":"baseModelId","schema":{"$ref":"#/components/schemas/BaseModelId"},"required":true}],"tags":["Base models"],"summary":"Get a base model","description":"Get one entry from the global base model catalog.","responses":{"200":{"description":"Base model","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseModel"}}}},"404":{"description":"Base model not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/projects/{projectId}/models":{"get":{"operationId":"listProjectModels","parameters":[{"in":"path","name":"projectId","schema":{"$ref":"#/components/schemas/ProjectId"},"required":true},{"in":"query","name":"limit","schema":{"default":20,"type":"integer","minimum":1,"maximum":100}},{"in":"query","name":"offset","schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}}],"tags":["Models"],"summary":"List project Models","description":"List non-archived Models owned by a project.","responses":{"200":{"description":"List project Models","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"type":"object","properties":{"models":{"type":"array","items":{"$ref":"#/components/schemas/Model"}},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["models","pagination"]}}}},"404":{"description":"Project not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}},"post":{"operationId":"createProjectModel","parameters":[{"in":"path","name":"projectId","schema":{"$ref":"#/components/schemas/ProjectId"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}]},"baseModelId":{"$ref":"#/components/schemas/BaseModelId"}},"required":["name","baseModelId"]}}}},"tags":["Models"],"summary":"Create a project Model","description":"Create project-owned Model metadata without creating a Model Version.","responses":{"200":{"description":"Created Model","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Model"}}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/projects/{projectId}/models/{modelId}/versions":{"get":{"operationId":"listModelVersions","parameters":[{"in":"path","name":"projectId","schema":{"$ref":"#/components/schemas/ProjectId"},"required":true},{"in":"path","name":"modelId","schema":{"$ref":"#/components/schemas/ModelId"},"required":true},{"in":"query","name":"limit","schema":{"default":20,"type":"integer","minimum":1,"maximum":100}},{"in":"query","name":"offset","schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}}],"tags":["Models"],"summary":"List Model Versions","description":"List immutable versions of a project Model.","responses":{"200":{"description":"Model Versions","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"type":"object","properties":{"versions":{"type":"array","items":{"$ref":"#/components/schemas/ModelVersion"}},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["versions","pagination"]}}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/model-versions/{modelVersionId}":{"get":{"operationId":"getModelVersion","parameters":[{"in":"path","name":"modelVersionId","schema":{"$ref":"#/components/schemas/ModelVersionId"},"required":true}],"tags":["Models"],"summary":"Get a Model Version","responses":{"200":{"description":"Model Version","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelVersion"}}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/model-versions/{modelVersionId}/content":{"get":{"operationId":"getModelVersionContent","parameters":[{"in":"path","name":"modelVersionId","schema":{"$ref":"#/components/schemas/ModelVersionId"},"required":true}],"tags":["Models"],"summary":"Download Model Version content","responses":{"200":{"description":"Signed download locations for immutable Model Version files","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelVersionContentDownload"}}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/projects/{projectId}/models/{modelId}/archive":{"post":{"operationId":"archiveProjectModel","parameters":[{"in":"path","name":"projectId","schema":{"$ref":"#/components/schemas/ProjectId"},"required":true},{"in":"path","name":"modelId","schema":{"$ref":"#/components/schemas/ModelId"},"required":true}],"tags":["Models"],"summary":"Archive a project Model","responses":{"200":{"description":"Archived Model","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Model"}}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/projects/{projectId}/models/{modelId}":{"get":{"operationId":"getProjectModel","parameters":[{"in":"path","name":"projectId","schema":{"$ref":"#/components/schemas/ProjectId"},"required":true},{"in":"path","name":"modelId","schema":{"$ref":"#/components/schemas/ModelId"},"required":true}],"tags":["Models"],"summary":"Get a project Model","responses":{"200":{"description":"Project Model","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Model"}}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/projects/{projectId}/trainings":{"get":{"operationId":"listProjectTrainings","parameters":[{"in":"path","name":"projectId","schema":{"$ref":"#/components/schemas/ProjectId"},"required":true},{"in":"query","name":"limit","schema":{"default":20,"type":"integer","minimum":1,"maximum":100}},{"in":"query","name":"offset","schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}}],"tags":["Trainings"],"summary":"List project Trainings","description":"List active Training drafts owned by a project.","responses":{"200":{"description":"Project Training drafts","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"type":"object","properties":{"trainings":{"type":"array","items":{"$ref":"#/components/schemas/Training"}},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["trainings","pagination"]}}}},"404":{"description":"Project not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}},"post":{"operationId":"createProjectTraining","parameters":[{"in":"path","name":"projectId","schema":{"$ref":"#/components/schemas/ProjectId"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"configuration":{"$ref":"#/components/schemas/TrainingConfigurationInput"}},"required":["name","configuration"]}}}},"tags":["Trainings"],"summary":"Create a Training","description":"Create a Training draft at revision 1 and bind its output Model atomically. The draft trains on a Dataset Slice (sliceId) that freezes a split column: it learns on the train parts and validates on the validate parts.","responses":{"200":{"description":"Created Training","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Training"}}}},"404":{"description":"Project, Dataset, Dataset Slice, Model Version, or gisting prompt file not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"409":{"description":"The name or output Model is already bound","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/trainings/{trainingId}":{"get":{"operationId":"getTraining","parameters":[{"in":"path","name":"trainingId","schema":{"$ref":"#/components/schemas/TrainingId"},"required":true}],"tags":["Trainings"],"summary":"Get a Training","description":"Read Training metadata and its current normalized draft.","responses":{"200":{"description":"Training draft","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Training"}}}},"404":{"description":"Training not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}},"patch":{"operationId":"updateTrainingMetadata","parameters":[{"in":"path","name":"trainingId","schema":{"$ref":"#/components/schemas/TrainingId"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"archived":{"type":"boolean"}}}}}},"tags":["Trainings"],"summary":"Update Training metadata","description":"Rename, archive, or unarchive a Training without changing its configuration revision.","responses":{"200":{"description":"Updated Training","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Training"}}}},"409":{"description":"An active Training with this name already exists","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/trainings/{trainingId}/configuration":{"put":{"operationId":"replaceTrainingConfiguration","parameters":[{"in":"path","name":"trainingId","schema":{"$ref":"#/components/schemas/TrainingId"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"configuration":{"$ref":"#/components/schemas/TrainingConfigurationInput"}},"required":["configuration"]}}}},"tags":["Trainings"],"summary":"Replace a Training configuration","description":"Replace the complete Training draft. Last write wins. The draft trains on a Dataset Slice (sliceId) that freezes a split column: it learns on the train parts and validates on the validate parts.","responses":{"200":{"description":"Updated Training","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Training"}}}},"404":{"description":"Training, Dataset, Dataset Slice, Model Version, or gisting prompt file not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"409":{"description":"Archived Training cannot be updated","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/trainings/{trainingId}/cost-estimate-inputs":{"post":{"operationId":"prepareTrainingCostEstimateInputs","parameters":[{"in":"path","name":"trainingId","schema":{"$ref":"#/components/schemas/TrainingId"},"required":true},{"in":"header","name":"idempotency-key","schema":{"type":"string","minLength":1,"maxLength":128},"required":true,"description":"A caller-generated key reused for retries of one logical request."}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"tags":["Trainings"],"summary":"Prepare Training Cost Estimate inputs","description":"Create one immutable validate-only Dataset Export per configured input at one server cutoff. A draft saved without a slice that freezes a split column must be updated with one first. Rows that any split column marks as test stay out of every input, except that validation keeps a part with both the validate and test roles in the split column the Training uses.","responses":{"200":{"description":"Prepared Cost Estimate Input Set","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingCostEstimateInputSet"}}}},"409":{"description":"Expired replay or too many unconsumed Input Sets","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/trainings/{trainingId}/cost-estimate":{"post":{"operationId":"estimateTrainingCost","parameters":[{"in":"path","name":"trainingId","schema":{"$ref":"#/components/schemas/TrainingId"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"inputSetId":{"$ref":"#/components/schemas/TrainingCostEstimateInputSetId"}},"required":["inputSetId"]}}}},"tags":["Trainings"],"summary":"Estimate Training cost","description":"Validate completed estimate inputs and calculate a conservative maximum Training charge.","responses":{"200":{"description":"Training Cost Estimate","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingCostEstimate"}}}},"409":{"description":"Expired Input Set or inputs still running","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/trainings/{trainingId}/runs":{"post":{"operationId":"createTrainingRun","parameters":[{"in":"path","name":"trainingId","schema":{"$ref":"#/components/schemas/TrainingId"},"required":true},{"in":"header","name":"idempotency-key","schema":{"type":"string","minLength":1,"maxLength":128},"required":true,"description":"A caller-generated key reused for retries of one logical request."}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"inputSetId":{"type":"string","pattern":"^tei\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"estimateFingerprint":{"type":"string","pattern":"^[0-9a-f]{64}$"},"versionName":{"type":"string","minLength":1,"maxLength":120}},"required":["inputSetId","estimateFingerprint","versionName"],"additionalProperties":false}}}},"tags":["Trainings"],"summary":"Create a Training Run","description":"Revalidate a Cost Estimate and enqueue one Training Run.","responses":{"200":{"description":"Queued Training Run","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingRun"}}}},"409":{"description":"Changed estimate or idempotency request","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}},"get":{"operationId":"listTrainingRuns","parameters":[{"in":"path","name":"trainingId","schema":{"$ref":"#/components/schemas/TrainingId"},"required":true},{"in":"query","name":"limit","schema":{"default":20,"type":"integer","minimum":1,"maximum":100}},{"in":"query","name":"offset","schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}}],"tags":["Trainings"],"summary":"List Training Runs","responses":{"200":{"description":"Training Run history","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"type":"object","properties":{"trainingRuns":{"type":"array","items":{"$ref":"#/components/schemas/TrainingRun"}},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["trainingRuns","pagination"]}}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/training-runs/{trainingRunId}":{"get":{"operationId":"getTrainingRun","parameters":[{"in":"path","name":"trainingRunId","schema":{"$ref":"#/components/schemas/TrainingRunId"},"required":true}],"tags":["Trainings"],"summary":"Get a Training Run","responses":{"200":{"description":"Training Run","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingRun"}}}},"404":{"description":"Training Run not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/training-runs/{trainingRunId}/logs":{"get":{"operationId":"getTrainingRunLogs","parameters":[{"in":"path","name":"trainingRunId","schema":{"$ref":"#/components/schemas/TrainingRunId"},"required":true},{"in":"query","name":"cursor","schema":{"type":"string","maxLength":128}},{"in":"query","name":"limit","schema":{"default":100,"type":"integer","minimum":1,"maximum":100}}],"tags":["Trainings"],"summary":"Read Training Run logs","responses":{"200":{"description":"A bounded page of sanitized log entries","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingRunLogs"}}}},"404":{"description":"Training Run not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/training-runs/{trainingRunId}/metrics":{"get":{"operationId":"getTrainingRunMetrics","parameters":[{"in":"path","name":"trainingRunId","schema":{"$ref":"#/components/schemas/TrainingRunId"},"required":true}],"tags":["Trainings"],"summary":"Read the latest Training Run metrics","responses":{"200":{"description":"Latest value of every reported metric","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingRunMetrics"}}}},"404":{"description":"Training Run not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/training-runs/{trainingRunId}/metrics/{metricKey}":{"get":{"operationId":"getTrainingRunMetricHistory","parameters":[{"in":"path","name":"trainingRunId","schema":{"$ref":"#/components/schemas/TrainingRunId"},"required":true},{"in":"path","name":"metricKey","schema":{"type":"string","minLength":1,"maxLength":250},"required":true},{"in":"query","name":"resolution","schema":{"default":200,"type":"integer","minimum":2,"maximum":500}}],"tags":["Trainings"],"summary":"Read the history of one Training Run metric","responses":{"200":{"description":"A bounded, downsampled metric history","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingRunMetricHistory"}}}},"404":{"description":"Training Run or metric not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/training-runs/{trainingRunId}/resume":{"post":{"operationId":"resumeTrainingRun","parameters":[{"in":"path","name":"trainingRunId","schema":{"$ref":"#/components/schemas/TrainingRunId"},"required":true}],"tags":["Trainings"],"summary":"Resume a Training Run","responses":{"200":{"description":"Resumed Training Run","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingRun"}}}},"409":{"description":"Training Run is not resumable from its current state","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/training-runs/{trainingRunId}/cancel":{"post":{"operationId":"cancelTrainingRun","parameters":[{"in":"path","name":"trainingRunId","schema":{"$ref":"#/components/schemas/TrainingRunId"},"required":true}],"tags":["Trainings"],"summary":"Cancel a Training Run","responses":{"200":{"description":"Canceled Training Run","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingRun"}}}},"409":{"description":"Training Run cannot be canceled from its current state","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/admin/training-runs/{trainingRunId}/billing-resolution":{},"/api/v2-beta/audience/specializations":{"get":{"operationId":"listAudienceSpecializations","parameters":[{"in":"query","name":"limit","schema":{"default":1000,"type":"integer","minimum":1,"maximum":1000}},{"in":"query","name":"offset","schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}}],"tags":["Audience"],"summary":"List expert specializations","description":"List the specializations (platform qualifications) a node audience can require, with how many ID-verified experts currently eligible for tasks hold each. Sorted by name, then id. The default page size (1000) returns the whole catalog in practice. Copy `id` into `qualificationId` and `name` into `value` of `audience.specializations.values[]`; never invent a `qualificationId`.","responses":{"200":{"description":"List specializations","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"type":"object","properties":{"specializations":{"type":"array","items":{"$ref":"#/components/schemas/Specialization"}},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["specializations","pagination"]}}}},"400":{"description":"`limit` is not an integer between 1 and 1000, or `offset` is not a non-negative integer","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/generation-models":{"get":{"operationId":"listGenerationModels","tags":["Generation models"],"summary":"List synthetic generation models","description":"List the models currently offered for synthetic generation nodes, with the reasoning efforts each supports and the `maxCostPerAttempt` bounds apply enforces. Copy `id` into `generationModelId`, set `reasoningEffort` only for a model with `defaultReasoningEffort`, and keep `maxCostPerAttempt` between `min` and `maxEstimate`, at or above `typical`.","responses":{"200":{"description":"Synthetic generation model catalog","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"type":"object","properties":{"defaultGenerationModelId":{"type":"string","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"],"description":"The model a synthetic node uses when `generationModelId` is omitted."},"generationModels":{"type":"array","items":{"$ref":"#/components/schemas/GenerationModel"}}},"required":["defaultGenerationModelId","generationModels"]}}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/me":{"get":{"operationId":"getCurrentUser","tags":["Account"],"summary":"Get the current user","description":"Return the platform user id, email, the teams the API key owner belongs to with their write access and internal status, and whether the owner is an internal user. Delivery-order APIs are available only when `internal` is true; a team id from `teams` is the `teamId` for creating a project, and a team marked `internal` requires a `deliveryOrderId` while other teams reject one.","responses":{"200":{"description":"The authenticated API key owner","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CurrentUser"}}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/delivery-orders":{"get":{"operationId":"listDeliveryOrders","tags":["Delivery orders"],"summary":"List delivery orders","description":"Internal users only. List active Sunday delivery orders needed when creating a project on an internal team.","responses":{"200":{"description":"List delivery orders","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"type":"object","properties":{"deliveryOrders":{"type":"array","items":{"$ref":"#/components/schemas/DeliveryOrder"}}},"required":["deliveryOrders"]}}}},"403":{"description":"Internal team access required","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/projects":{"get":{"operationId":"listProjects","parameters":[{"in":"query","name":"limit","schema":{"default":20,"type":"integer","minimum":1,"maximum":100}},{"in":"query","name":"offset","schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}}],"tags":["Projects"],"summary":"List projects","description":"List projects across the teams you belong to.","responses":{"200":{"description":"List projects","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"type":"object","properties":{"projects":{"type":"array","items":{"$ref":"#/components/schemas/Project"}},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["projects","pagination"]}}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}},"post":{"operationId":"createProject","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"teamId":{"type":"string","minLength":1,"description":"The team that will own the project."},"name":{"type":"string","minLength":1},"deliveryOrderId":{"description":"Internal users only. Sunday delivery order id; required for internal teams and not allowed otherwise.","anyOf":[{"type":"string","pattern":"^[a-z0-9-]+$"},{"type":"null"}]}},"required":["teamId"]}}}},"tags":["Projects"],"summary":"Create a project","description":"Create an active project owned by a team, together with its default agent chat thread. The Sunday delivery order id is required for internal teams and not allowed otherwise.","responses":{"200":{"description":"Project created","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"400":{"description":"deliveryOrderId is required for internal teams, or deliveryOrderId was passed for a team that is not internal","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"403":{"description":"Trial limit reached. An account that has not completed identity or business verification may hold one project and one pipeline, and cannot start a run. The body message reads \"Your trial allows a single project. Verify your account to unlock full access.\" Complete verification in the web app to lift the limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/projects/{projectId}":{"get":{"operationId":"getProjectById","parameters":[{"in":"path","name":"projectId","schema":{"$ref":"#/components/schemas/ProjectId"},"required":true}],"tags":["Projects"],"summary":"Get a project","description":"Get a project by ID.","responses":{"200":{"description":"Get project by ID","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"404":{"description":"Project not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}},"patch":{"operationId":"updateProject","parameters":[{"in":"path","name":"projectId","schema":{"$ref":"#/components/schemas/ProjectId"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1}},"required":["name"]}}}},"tags":["Projects"],"summary":"Update a project","description":"Update project metadata.","responses":{"200":{"description":"Project updated","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"404":{"description":"Project not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/projects/{projectId}/pipelines":{"get":{"operationId":"listProjectPipelines","parameters":[{"in":"path","name":"projectId","schema":{"$ref":"#/components/schemas/ProjectId"},"required":true},{"in":"query","name":"limit","schema":{"default":20,"type":"integer","minimum":1,"maximum":100}},{"in":"query","name":"offset","schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}}],"tags":["Pipelines"],"summary":"List the pipelines in a project","description":"List the pipelines that belong to a project.","responses":{"200":{"description":"List pipelines","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"type":"object","properties":{"pipelines":{"type":"array","items":{"$ref":"#/components/schemas/Pipeline"}},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["pipelines","pagination"]}}}},"404":{"description":"Project not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/pipelines/{pipelineId}":{"get":{"operationId":"getPipelineById","parameters":[{"in":"path","name":"pipelineId","schema":{"$ref":"#/components/schemas/PipelineId"},"required":true}],"tags":["Pipelines"],"summary":"Get a pipeline","description":"Get a pipeline by ID.","responses":{"200":{"description":"Get pipeline by ID","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}}},"404":{"description":"Pipeline not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}},"patch":{"operationId":"updatePipeline","parameters":[{"in":"path","name":"pipelineId","schema":{"$ref":"#/components/schemas/PipelineId"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1}},"required":["name"]}}}},"tags":["Pipelines"],"summary":"Update a pipeline","description":"Update pipeline metadata.","responses":{"200":{"description":"Pipeline updated","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}}},"404":{"description":"Pipeline not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/projects/{projectId}/datasets":{"get":{"operationId":"listProjectDatasets","parameters":[{"in":"path","name":"projectId","schema":{"$ref":"#/components/schemas/ProjectId"},"required":true},{"in":"query","name":"limit","schema":{"default":20,"type":"integer","minimum":1,"maximum":100}},{"in":"query","name":"offset","schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}}],"tags":["Datasets"],"summary":"List the datasets in a project","description":"List the datasets that belong to a project.","responses":{"200":{"description":"List datasets","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"type":"object","properties":{"datasets":{"type":"array","items":{"$ref":"#/components/schemas/Dataset"}},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["datasets","pagination"]}}}},"404":{"description":"Project not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}},"post":{"operationId":"createDataset","parameters":[{"in":"path","name":"projectId","schema":{"$ref":"#/components/schemas/ProjectId"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1},"profile":{"description":"Construct typed columns from a profile: \"chat-sft\" (messages/tools/split/assistant/source_ref) or \"instruction\" (prompt/completion/split). Omit to store each uploaded row whole under \"uploaded\".","type":"string","enum":["chat-sft","instruction"]}}}}}},"tags":["Datasets"],"summary":"Create a dataset","description":"Create a dataset in a project. Pass a profile to construct typed columns and their mapping from uploaded rows up front, which moves format errors to upload time; omit it to keep every uploaded row whole under \"uploaded\".","responses":{"200":{"description":"Dataset created","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataset"}}}},"404":{"description":"Project not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/datasets/{datasetId}":{"get":{"operationId":"getDatasetById","parameters":[{"in":"path","name":"datasetId","schema":{"$ref":"#/components/schemas/DatasetId"},"required":true}],"tags":["Datasets"],"summary":"Get a dataset","description":"Get a dataset by ID.","responses":{"200":{"description":"Get dataset by ID","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataset"}}}},"404":{"description":"Dataset not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/datasets/{datasetId}/fields":{"get":{"operationId":"listDatasetFields","parameters":[{"in":"path","name":"datasetId","schema":{"$ref":"#/components/schemas/DatasetId"},"required":true},{"in":"query","name":"limit","schema":{"default":20,"type":"integer","minimum":1,"maximum":100}},{"in":"query","name":"offset","schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}},{"in":"query","name":"names","schema":{"type":"string"}}],"tags":["Datasets"],"summary":"List dataset fields","description":"List the fields of a dataset. All fields are returned by default; pass `names` (comma-separated) to return only specific fields.","responses":{"200":{"description":"List dataset fields","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/DatasetField"}},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["fields","pagination"],"$defs":{"__schema0":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema1"}},"__schema1":{"type":"object","properties":{"type":{"anyOf":[{"type":"string","enum":["string","number","integer","boolean","object","array","null"]},{"minItems":1,"type":"array","items":{"type":"string","enum":["string","number","integer","boolean","object","array","null"]}}]},"properties":{"$ref":"#/components/schemas/__schema0"},"required":{"type":"array","items":{"type":"string"}},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#/components/schemas/__schema1"}]},"items":{"$ref":"#/components/schemas/__schema1"},"minItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"uniqueItems":{"type":"boolean"},"enum":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"const":{"$ref":"#/components/schemas/__schema2"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"pattern":{"type":"string"},"format":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":{"$ref":"#/components/schemas/__schema2"},"examples":{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"anyOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"oneOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"allOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}}},"additionalProperties":false},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema2"}}]}}}}}},"404":{"description":"Dataset not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}},"post":{"operationId":"createDatasetField","parameters":[{"in":"path","name":"datasetId","schema":{"$ref":"#/components/schemas/DatasetId"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-z]([a-z0-9_]*[a-z0-9])?$"},"jsonSchema":{"type":"object","properties":{"type":{"anyOf":[{"type":"string","enum":["string","number","integer","boolean","object","array","null"]},{"minItems":1,"type":"array","items":{"type":"string","enum":["string","number","integer","boolean","object","array","null"]}}]},"properties":{"$ref":"#/components/schemas/__schema0"},"required":{"type":"array","items":{"type":"string"}},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#/components/schemas/__schema1"}]},"items":{"$ref":"#/components/schemas/__schema1"},"minItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"uniqueItems":{"type":"boolean"},"enum":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"const":{"$ref":"#/components/schemas/__schema2"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"pattern":{"type":"string"},"format":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":{"$ref":"#/components/schemas/__schema2"},"examples":{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"anyOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"oneOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"allOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}}},"additionalProperties":false}},"required":["name","jsonSchema"]},{"type":"object","properties":{"fields":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-z]([a-z0-9_]*[a-z0-9])?$"},"jsonSchema":{"type":"object","properties":{"type":{"anyOf":[{"type":"string","enum":["string","number","integer","boolean","object","array","null"]},{"minItems":1,"type":"array","items":{"type":"string","enum":["string","number","integer","boolean","object","array","null"]}}]},"properties":{"$ref":"#/components/schemas/__schema0"},"required":{"type":"array","items":{"type":"string"}},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#/components/schemas/__schema1"}]},"items":{"$ref":"#/components/schemas/__schema1"},"minItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"uniqueItems":{"type":"boolean"},"enum":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"const":{"$ref":"#/components/schemas/__schema2"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"pattern":{"type":"string"},"format":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":{"$ref":"#/components/schemas/__schema2"},"examples":{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"anyOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"oneOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"allOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}}},"additionalProperties":false}},"required":["name","jsonSchema"]}}},"required":["fields"]}],"$defs":{"__schema0":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema1"}},"__schema1":{"type":"object","properties":{"type":{"anyOf":[{"type":"string","enum":["string","number","integer","boolean","object","array","null"]},{"minItems":1,"type":"array","items":{"type":"string","enum":["string","number","integer","boolean","object","array","null"]}}]},"properties":{"$ref":"#/components/schemas/__schema0"},"required":{"type":"array","items":{"type":"string"}},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#/components/schemas/__schema1"}]},"items":{"$ref":"#/components/schemas/__schema1"},"minItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"uniqueItems":{"type":"boolean"},"enum":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"const":{"$ref":"#/components/schemas/__schema2"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"pattern":{"type":"string"},"format":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":{"$ref":"#/components/schemas/__schema2"},"examples":{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"anyOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"oneOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"allOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}}},"additionalProperties":false},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema2"}}]}}}}}},"tags":["Datasets"],"summary":"Create dataset fields","description":"Create one field, or several in one request. Field names and JSON schemas are immutable after creation.","responses":{"200":{"description":"Created field, or created fields when the request listed several","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/DatasetField"},{"$ref":"#/components/schemas/CreatedDatasetFields"}],"$defs":{"__schema0":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema1"}},"__schema1":{"type":"object","properties":{"type":{"anyOf":[{"type":"string","enum":["string","number","integer","boolean","object","array","null"]},{"minItems":1,"type":"array","items":{"type":"string","enum":["string","number","integer","boolean","object","array","null"]}}]},"properties":{"$ref":"#/components/schemas/__schema0"},"required":{"type":"array","items":{"type":"string"}},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#/components/schemas/__schema1"}]},"items":{"$ref":"#/components/schemas/__schema1"},"minItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"uniqueItems":{"type":"boolean"},"enum":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"const":{"$ref":"#/components/schemas/__schema2"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"pattern":{"type":"string"},"format":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":{"$ref":"#/components/schemas/__schema2"},"examples":{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"anyOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"oneOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"allOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}}},"additionalProperties":false},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema2"}}]}}}}}},"404":{"description":"Dataset not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/datasets/{datasetId}/inferred-fields":{"get":{"operationId":"getDatasetInferredFields","parameters":[{"in":"path","name":"datasetId","schema":{"$ref":"#/components/schemas/DatasetId"},"required":true}],"tags":["Datasets"],"summary":"List fields inferred from uploaded rows","description":"Get the nested fields inferred from the first successful dataset upload. Returns an empty `fields` list until inference has run.","responses":{"200":{"description":"Get inferred dataset fields","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/InferredField"}}},"required":["fields"],"$defs":{"__schema0":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema1"}},"__schema1":{"type":"object","properties":{"type":{"anyOf":[{"type":"string","enum":["string","number","integer","boolean","object","array","null"]},{"minItems":1,"type":"array","items":{"type":"string","enum":["string","number","integer","boolean","object","array","null"]}}]},"properties":{"$ref":"#/components/schemas/__schema0"},"required":{"type":"array","items":{"type":"string"}},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#/components/schemas/__schema1"}]},"items":{"$ref":"#/components/schemas/__schema1"},"minItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"uniqueItems":{"type":"boolean"},"enum":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"const":{"$ref":"#/components/schemas/__schema2"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"pattern":{"type":"string"},"format":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":{"$ref":"#/components/schemas/__schema2"},"examples":{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"anyOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"oneOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"allOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}}},"additionalProperties":false},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema2"}}]}}}}}},"404":{"description":"Dataset not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/datasets/{datasetId}/items":{"post":{"operationId":"addDatasetItems","parameters":[{"in":"path","name":"datasetId","schema":{"$ref":"#/components/schemas/DatasetId"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"fields":{"description":"Fields to create before adding rows. Omit to store each row under the \"uploaded\" field.","type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-z]([a-z0-9_]*[a-z0-9])?$"},"jsonSchema":{"default":{},"description":"JSON Schema for the field values. Defaults to {} (accepts any value).","type":"object","properties":{"type":{"anyOf":[{"type":"string","enum":["string","number","integer","boolean","object","array","null"]},{"minItems":1,"type":"array","items":{"type":"string","enum":["string","number","integer","boolean","object","array","null"]}}]},"properties":{"$ref":"#/components/schemas/__schema0"},"required":{"type":"array","items":{"type":"string"}},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#/components/schemas/__schema1"}]},"items":{"$ref":"#/components/schemas/__schema1"},"minItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"uniqueItems":{"type":"boolean"},"enum":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"const":{"$ref":"#/components/schemas/__schema2"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"pattern":{"type":"string"},"format":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":{"$ref":"#/components/schemas/__schema2"},"examples":{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"anyOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"oneOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"allOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}}},"additionalProperties":false}},"required":["name"]}},"items":{"minItems":1,"maxItems":10000,"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema3"}},"description":"Rows to add. Each row is a JSON object keyed by field name."}},"required":["items"],"$defs":{"__schema0":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema1"}},"__schema1":{"type":"object","properties":{"type":{"anyOf":[{"type":"string","enum":["string","number","integer","boolean","object","array","null"]},{"minItems":1,"type":"array","items":{"type":"string","enum":["string","number","integer","boolean","object","array","null"]}}]},"properties":{"$ref":"#/components/schemas/__schema0"},"required":{"type":"array","items":{"type":"string"}},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#/components/schemas/__schema1"}]},"items":{"$ref":"#/components/schemas/__schema1"},"minItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"uniqueItems":{"type":"boolean"},"enum":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"const":{"$ref":"#/components/schemas/__schema2"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"pattern":{"type":"string"},"format":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":{"$ref":"#/components/schemas/__schema2"},"examples":{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"anyOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"oneOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"allOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}}},"additionalProperties":false},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema2"}}]},"__schema3":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema3"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema3"}}]}}}}}},"tags":["Datasets"],"summary":"Add rows to a dataset","description":"Add rows to a dataset inline (synchronous). Optionally declare fields to create first; each row is keyed by field name (omit fields to store the whole row under \"uploaded\"). Use this only for small payloads (max 2 MB) — for large data use the file upload endpoint (POST /datasets/:id/uploads).","responses":{"200":{"description":"Rows added","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"type":"object","properties":{"created":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["created"]}}}},"400":{"description":"Payload too large, invalid field values, or item limit reached","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"404":{"description":"Dataset not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}},"get":{"operationId":"listDatasetItems","parameters":[{"in":"path","name":"datasetId","schema":{"$ref":"#/components/schemas/DatasetId"},"required":true},{"in":"query","name":"limit","schema":{"default":20,"type":"integer","minimum":1,"maximum":100}},{"in":"query","name":"offset","schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}}],"tags":["Datasets"],"summary":"List dataset items","description":"List a page of dataset item metadata synchronously. Page size is capped at 100; use an asynchronous export for bulk reads.","responses":{"200":{"description":"List dataset items","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/DatasetItem"}},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["items","pagination"]}}}},"404":{"description":"Dataset not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/datasets/{datasetId}/uploads":{"post":{"operationId":"createDatasetUpload","parameters":[{"in":"path","name":"datasetId","schema":{"$ref":"#/components/schemas/DatasetId"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"filename":{"type":"string","minLength":1},"format":{"default":"json","description":"File format: \"json\" (a JSON array of row objects), \"jsonl\" (one JSON object per line) or \"csv\" (a header row naming the fields, one row per item; all values are ingested as strings). Defaults to \"json\".","type":"string","enum":["json","csv","jsonl"]},"declaredSizeBytes":{"type":"integer","exclusiveMinimum":0,"maximum":1073741824},"fields":{"description":"Fields to create; each uploaded row is mapped by key into them. Omit to store each row under \"uploaded\".","type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-z]([a-z0-9_]*[a-z0-9])?$"},"jsonSchema":{"default":{},"description":"JSON Schema for the field values. Defaults to {} (accepts any value).","type":"object","properties":{"type":{"anyOf":[{"type":"string","enum":["string","number","integer","boolean","object","array","null"]},{"minItems":1,"type":"array","items":{"type":"string","enum":["string","number","integer","boolean","object","array","null"]}}]},"properties":{"$ref":"#/components/schemas/__schema0"},"required":{"type":"array","items":{"type":"string"}},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#/components/schemas/__schema1"}]},"items":{"$ref":"#/components/schemas/__schema1"},"minItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"uniqueItems":{"type":"boolean"},"enum":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"const":{"$ref":"#/components/schemas/__schema2"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"pattern":{"type":"string"},"format":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":{"$ref":"#/components/schemas/__schema2"},"examples":{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"anyOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"oneOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"allOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}}},"additionalProperties":false}},"required":["name"]}}},"required":["filename","declaredSizeBytes"],"$defs":{"__schema0":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema1"}},"__schema1":{"type":"object","properties":{"type":{"anyOf":[{"type":"string","enum":["string","number","integer","boolean","object","array","null"]},{"minItems":1,"type":"array","items":{"type":"string","enum":["string","number","integer","boolean","object","array","null"]}}]},"properties":{"$ref":"#/components/schemas/__schema0"},"required":{"type":"array","items":{"type":"string"}},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#/components/schemas/__schema1"}]},"items":{"$ref":"#/components/schemas/__schema1"},"minItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"uniqueItems":{"type":"boolean"},"enum":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"const":{"$ref":"#/components/schemas/__schema2"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"pattern":{"type":"string"},"format":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":{"$ref":"#/components/schemas/__schema2"},"examples":{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"anyOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"oneOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"allOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}}},"additionalProperties":false},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema2"}}]}}}}}},"tags":["Dataset uploads"],"summary":"Start a dataset file upload","description":"Begin a file upload for large data. Returns a job and a presigned uploadUrl; PUT the file (a JSON array of row objects, one JSON object per line when format is \"jsonl\", or a CSV file when format is \"csv\") to uploadUrl, then call finalize. Optionally declare fields to map each row into by key (omit to store each row whole under \"uploaded\"). For small payloads use POST /datasets/:id/items instead.","responses":{"200":{"description":"Upload initiated","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"type":"object","properties":{"job":{"$ref":"#/components/schemas/UploadJob"},"uploadUrl":{"type":"string"}},"required":["job","uploadUrl"]}}}},"404":{"description":"Dataset not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"409":{"description":"Another upload is in progress","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/uploads/{uploadId}/finalize":{"post":{"operationId":"finalizeDatasetUpload","parameters":[{"in":"path","name":"uploadId","schema":{"$ref":"#/components/schemas/UploadId"},"required":true}],"tags":["Dataset uploads"],"summary":"Finalize a dataset file upload","description":"Finalize an upload after the file has been PUT to its uploadUrl; starts ingestion.","responses":{"200":{"description":"Upload finalized; ingestion scheduled","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadJob"}}}},"404":{"description":"Upload not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"409":{"description":"Upload is in a state that cannot be finalized","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/uploads/{uploadId}/cancel":{"post":{"operationId":"cancelDatasetUpload","parameters":[{"in":"path","name":"uploadId","schema":{"$ref":"#/components/schemas/UploadId"},"required":true}],"tags":["Dataset uploads"],"summary":"Cancel a dataset upload","description":"Cancel an upload before finalization and release the dataset for another upload.","responses":{"204":{"description":"Upload canceled","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"404":{"description":"Upload not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"409":{"description":"Upload has already been finalized","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/uploads/{uploadId}":{"get":{"operationId":"getDatasetUpload","parameters":[{"in":"path","name":"uploadId","schema":{"$ref":"#/components/schemas/UploadId"},"required":true}],"tags":["Dataset uploads"],"summary":"Get the state of a dataset upload","description":"Poll an upload + ingest job.","responses":{"200":{"description":"Upload job status","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadJob"}}}},"404":{"description":"Upload not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/projects/{projectId}/pipelines/import":{"post":{"operationId":"importPipeline","parameters":[{"in":"path","name":"projectId","schema":{"$ref":"#/components/schemas/ProjectId"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"graph":{"type":"object","properties":{"version":{"type":"number","const":1},"fields":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"name":{"type":"string"},"jsonSchema":{"$ref":"#/components/schemas/JsonSchema"}},"required":["id","name","jsonSchema"],"additionalProperties":false}},"nodes":{"maxItems":500,"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"type":{"type":"string","const":"root"},"settings":{"type":"object","properties":{"datasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"itemFilter":{"type":"object","properties":{"fieldValues":{"type":"array","items":{"type":"object","properties":{"jsonPath":{"type":"string","minLength":1},"operator":{"type":"string","enum":["text_eq","text_neq"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"latestOnly":{"default":true,"type":"boolean"},"sources":{"default":[],"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["jsonPath","operator","value","fieldId"],"additionalProperties":false}},"fieldSources":{"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"sources":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["fieldId","sources"],"additionalProperties":false}},"missingRevisionFields":{"type":"array","items":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"slice":{"type":"object","properties":{"sliceId":{"type":"string","pattern":"^dsl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"required":["sliceId"],"additionalProperties":false},"parts":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"names":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}}},"required":["fieldId","names"],"additionalProperties":false},"excludeParts":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"names":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}}},"required":["fieldId","names"],"additionalProperties":false}},"createdBefore":{"type":"string","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))$"}},"additionalProperties":false},"itemLimit":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"startedFieldProxies":{"type":"object","properties":{"output":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"optional":{"type":"boolean"}},"required":["id","optional"],"additionalProperties":false}}},"required":["output"]},"completedFieldProxies":{"type":"object","properties":{"input":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"optional":{"type":"boolean"}},"required":["id","optional"],"additionalProperties":false}}},"required":["input"]}},"required":["startedFieldProxies","completedFieldProxies"],"additionalProperties":false}},"required":["id","type","settings"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"type":{"type":"string","const":"code"},"settings":{"type":"object","properties":{"about":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"projectType":{"type":"string","enum":["general","data_collection"]}},"required":["name"],"additionalProperties":false},"fieldProxies":{"type":"object","properties":{"input":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"optional":{"type":"boolean"}},"required":["id","optional"],"additionalProperties":false}},"output":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"optional":{"type":"boolean"}},"required":["id","optional"],"additionalProperties":false}}},"required":["input","output"]},"code":{"type":"object","properties":{"code":{"type":"string"}},"required":["code"],"additionalProperties":false},"envVars":{"default":[],"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"static"},"name":{"type":"string"},"value":{"type":"string"}},"required":["type","name","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"secret"},"name":{"type":"string"},"secretName":{"type":"string"}},"required":["type","name","secretName"],"additionalProperties":false}]}},"checks":{"type":"object","propertyNames":{"type":"string","enum":["code"]},"additionalProperties":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}}]}},"required":["id","name","input"]}}}},"required":["about","fieldProxies","code"],"additionalProperties":false}},"required":["id","type","settings"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"type":{"type":"string","const":"generation"},"settings":{"type":"object","properties":{"about":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"projectType":{"type":"string","enum":["general","data_collection"]}},"required":["name"],"additionalProperties":false},"publicName":{"type":"string"},"entities":{"type":"object","properties":{"input":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":false},"maxEntities":{"type":"null"}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false},{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":true},"maxEntities":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false}]}},"output":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":false},"maxEntities":{"type":"null"}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false},{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":true},"maxEntities":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false}]}}},"required":["input","output"],"additionalProperties":false},"qualityCriteria":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","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)$"},"qualityElement":{"type":"string"},"thresholds":{"type":"object","properties":{"pass":{"type":"string"},"fail":{"type":"string"}},"required":["pass","fail"]},"targetEntity":{"type":"string"},"llmQaInstruction":{"type":"string","maxLength":5000}},"required":["id","qualityElement","thresholds","targetEntity"]}},"instruction":{"type":"string"},"ui":{"type":"object","properties":{"code":{"type":"string"},"data":{"type":"string"},"preprocess":{"type":"string"},"postprocess":{"default":"return {};","type":"string"},"constants":{"type":"string"}},"required":["code","data","preprocess","constants"]},"qualityAssurance":{"default":{"qaMode":"llm_only","llmQaModelId":"gpt-5.6-terra"},"oneOf":[{"type":"object","properties":{"qaMode":{"type":"string","const":"llm_only"},"llmQaModelId":{"default":"gpt-5.6-terra","type":"string","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"]}},"required":["qaMode"]},{"type":"object","properties":{"qaMode":{"type":"string","const":"human_only"},"smartSamplingPercent":{"default":100,"type":"number","minimum":10,"maximum":100},"humanQaTimeForTask":{"type":"number","exclusiveMinimum":0}},"required":["qaMode"],"additionalProperties":false},{"type":"object","properties":{"qaMode":{"type":"string","const":"hybrid"},"smartSamplingPercent":{"default":30,"type":"number","minimum":10,"maximum":100},"humanQaTimeForTask":{"type":"number","exclusiveMinimum":0},"llmQaModelId":{"default":"gpt-5.6-terra","type":"string","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"]}},"required":["qaMode"],"additionalProperties":false}]},"audienceAndPricing":{"default":{"audienceType":"human","verifiedExperts":true,"audience":{"languages":{"type":"and","values":[]},"specializations":{"type":"and","values":[]},"countries":{"type":"or","values":[]}},"pricePerTask":6,"timeForTask":1800,"perExpertCapEnabled":false,"perExpertCapValue":1},"oneOf":[{"type":"object","properties":{"verifiedExperts":{"type":"boolean"},"audience":{"type":"object","properties":{"languages":{"type":"object","properties":{"type":{"type":"string","enum":["or","and"]},"values":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"}},"required":["value"]}}},"required":["type","values"],"additionalProperties":false},"specializations":{"type":"object","properties":{"type":{"type":"string","enum":["or","and"]},"values":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"qualificationId":{"type":"string"}},"required":["value","qualificationId"],"additionalProperties":false}}},"required":["type","values"],"additionalProperties":false},"countries":{"type":"object","properties":{"type":{"type":"string","enum":["or"]},"values":{"type":"array","items":{"type":"string"}}},"required":["type","values"],"additionalProperties":false}},"required":["languages","specializations","countries"],"additionalProperties":false},"pricePerTask":{"type":"number"},"timeForTask":{"type":"number"},"perExpertCapEnabled":{"default":false,"type":"boolean"},"perExpertCapValue":{"default":1,"type":"integer","exclusiveMinimum":0,"maximum":50},"audienceType":{"type":"string","const":"human"}},"required":["verifiedExperts","audience","pricePerTask","timeForTask","audienceType"],"additionalProperties":false},{"type":"object","properties":{"audienceType":{"type":"string","const":"synthetic"},"generationModelId":{"default":"gpt-5.6-terra","type":"string","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"]},"reasoningEffort":{"type":"string","enum":["low","medium","high"]},"llmInstruction":{"default":"","type":"string"},"maxCostPerAttempt":{"type":"number"}},"required":["audienceType","maxCostPerAttempt"],"additionalProperties":false}]},"onboarding":{"type":"object","properties":{"enabled":{"type":"boolean"},"steps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"blocks":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"info"},"estimatedTime":{"type":"string"},"role":{"type":"string"},"goal":{"type":"string"},"successCriteria":{"type":"string"}},"required":["id","type","estimatedTime","role","goal","successCriteria"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"text"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}}},"required":["id","type"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"quiz"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["single-choice","multiple-choice"]},"title":{"type":"string"},"question":{"type":"string"},"hint":{"type":"string"},"correctAnswerFeedback":{"type":"string"},"incorrectAnswerFeedback":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"label":{"type":"string"}},"required":["value","label"]}},"correctAnswer":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["id","type","question","options","correctAnswer"]}}},"required":["id","type","questions"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"practice"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"imageUrl":{"type":"string"},"editorType":{"type":"string"},"editorConfig":{"type":"object","properties":{"rows":{"type":"number"},"language":{"type":"string"},"placeholder":{"type":"string"}}},"validators":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"criteria":{"type":"string"}},"required":["id","name","description","criteria"]}}},"required":["id","type"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"examples"},"title":{"type":"string"},"examples":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"input":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema3"}},"checks":{"maxItems":10,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"exact"},"path":{"type":"string"},"golden":{"$ref":"#/components/schemas/__schema4"},"hint":{"type":"string"}},"required":["type","path","golden","hint"]},{"type":"object","properties":{"type":{"type":"string","const":"code"},"code":{"type":"string"},"hint":{"type":"string"}},"required":["type","code","hint"]},{"type":"object","properties":{"type":{"type":"string","const":"llm"},"paths":{"type":"array","items":{"type":"string"}},"criteria":{"type":"string"},"reference":{"type":"string"},"hint":{"type":"string"},"imageUrl":{"type":"string"}},"required":["type","paths","criteria"]}]}},"explanation":{"type":"string"},"sourceItemId":{"type":"string"}},"required":["id","input","checks"]}}},"required":["id","type","examples"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"consent"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"consentLabel":{"type":"string"}},"required":["id","type","consentLabel"]}]}}},"required":["id"]}},"info":{"type":"object","properties":{"estimatedTime":{"type":"string"},"role":{"type":"string"},"goal":{"type":"string"},"successCriteria":{"type":"string"}},"required":["estimatedTime","role","goal","successCriteria"]}},"required":["enabled","steps","info"]},"exam":{"type":"object","properties":{"enabled":{"type":"boolean"},"gradedEntities":{"type":"array","items":{"type":"object","properties":{"targetEntity":{"type":"string"},"mode":{"type":"string","enum":["ground_truth","quality_criteria","not_graded"]},"groundTruthType":{"type":"string","enum":["direct","custom"]},"customInstruction":{"type":"string"},"disabledCriterionIds":{"type":"array","items":{"type":"string","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)$"}}},"required":["targetEntity","mode","groundTruthType","customInstruction","disabledCriterionIds"],"additionalProperties":false}},"goldenDatasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"tasksPerExpert":{"type":"integer","minimum":1,"maximum":9007199254740991},"passThreshold":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["enabled","gradedEntities","tasksPerExpert","passThreshold"],"additionalProperties":false},"reuseAudienceWithNodeId":{"anyOf":[{"type":"object","properties":{"pipelineId":{"type":"string","pattern":"^pl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"nodeId":{"type":"string"}},"required":["pipelineId","nodeId"],"additionalProperties":false},{"type":"null"}]},"smartSearch":{"default":null,"anyOf":[{"type":"object","properties":{"briefDescription":{"type":"string"},"projectDescription":{"anyOf":[{"type":"string"},{"type":"null"}]},"extraHardRequirements":{"type":"array","items":{"type":"string"}},"relevanceCriteria":{"type":"array","items":{"type":"string"}},"typicalJobTitles":{"type":"array","items":{"type":"string"}},"idealCandidateProfile":{"type":"string"},"whoIsNotAFit":{"type":"array","items":{"type":"string"}},"sourceFingerprint":{"type":"string"}},"required":["briefDescription","projectDescription","extraHardRequirements","relevanceCriteria","typicalJobTitles","idealCandidateProfile","whoIsNotAFit"],"additionalProperties":false},{"type":"null"}]},"checks":{"type":"object","propertyNames":{"type":"string","enum":["ui","llmqa","annotation_qa","qc_lint","ui_types_lint","exam_dataset","synthgen"]},"additionalProperties":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}}]}},"required":["id","name","input"]}}}},"required":["about","publicName","entities","qualityCriteria","instruction","ui","onboarding"],"additionalProperties":false}},"required":["id","type","settings"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"type":{"type":"string","const":"match"},"settings":{"type":"object","properties":{"about":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"projectType":{"type":"string","enum":["general","data_collection"]}},"required":["name"],"additionalProperties":false},"conditions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"logic":{"default":"and","type":"string","enum":["and","or"]},"predicates":{"type":"array","items":{"type":"object","properties":{"fieldProxyId":{"type":"string"},"jsonPath":{"type":"string"},"operator":{"type":"string","enum":["text_eq","text_neq"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]}},"required":["fieldProxyId","jsonPath","operator","value"],"additionalProperties":false}}},"required":["name","predicates"],"additionalProperties":false}},"fieldProxies":{"type":"object","properties":{"input":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"optional":{"type":"boolean"}},"required":["id","optional"],"additionalProperties":false}}},"required":["input"]}},"required":["about","conditions","fieldProxies"],"additionalProperties":false}},"required":["id","type","settings"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"type":{"type":"string","const":"quorum"},"settings":{"type":"object","properties":{"about":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"projectType":{"type":"string","enum":["general","data_collection"]}},"required":["name"],"additionalProperties":false},"publicName":{"type":"string"},"audienceAndPricing":{"default":{"audienceType":"human","verifiedExperts":true,"audience":{"languages":{"type":"and","values":[]},"specializations":{"type":"and","values":[]},"countries":{"type":"or","values":[]}},"pricePerTask":6,"timeForTask":1800,"perExpertCapEnabled":false,"perExpertCapValue":1},"type":"object","properties":{"verifiedExperts":{"type":"boolean"},"audience":{"type":"object","properties":{"languages":{"type":"object","properties":{"type":{"type":"string","enum":["or","and"]},"values":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"}},"required":["value"]}}},"required":["type","values"],"additionalProperties":false},"specializations":{"type":"object","properties":{"type":{"type":"string","enum":["or","and"]},"values":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"qualificationId":{"type":"string"}},"required":["value","qualificationId"],"additionalProperties":false}}},"required":["type","values"],"additionalProperties":false},"countries":{"type":"object","properties":{"type":{"type":"string","enum":["or"]},"values":{"type":"array","items":{"type":"string"}}},"required":["type","values"],"additionalProperties":false}},"required":["languages","specializations","countries"],"additionalProperties":false},"pricePerTask":{"type":"number"},"timeForTask":{"type":"number"},"perExpertCapEnabled":{"default":false,"type":"boolean"},"perExpertCapValue":{"default":1,"type":"integer","exclusiveMinimum":0,"maximum":50},"audienceType":{"type":"string","const":"human"}},"required":["verifiedExperts","audience","pricePerTask","timeForTask","audienceType"],"additionalProperties":false},"entities":{"type":"object","properties":{"input":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":false},"maxEntities":{"type":"null"}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false},{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":true},"maxEntities":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false}]}},"output":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":false},"maxEntities":{"type":"null"}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false},{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":true},"maxEntities":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false}]}}},"required":["input","output"],"additionalProperties":false},"qualityCriteria":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","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)$"},"qualityElement":{"type":"string"},"thresholds":{"type":"object","properties":{"pass":{"type":"string"},"fail":{"type":"string"}},"required":["pass","fail"]},"targetEntity":{"type":"string"},"llmQaInstruction":{"type":"string","maxLength":5000}},"required":["id","qualityElement","thresholds","targetEntity"]}},"offboardingRules":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"type":"string","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":{"type":"string","enum":["mv_agreement"]},"agreementScale":{"type":"string"}},"required":["id"],"additionalProperties":false}},"instruction":{"type":"string"},"ui":{"type":"object","properties":{"code":{"type":"string"},"data":{"type":"string"},"preprocess":{"type":"string"},"postprocess":{"default":"return {};","type":"string"},"constants":{"type":"string"}},"required":["code","data","preprocess","constants"]},"qualityAssurance":{"default":{"qaMode":"llm_only","llmQaModelId":"gpt-5.6-terra"},"oneOf":[{"type":"object","properties":{"qaMode":{"type":"string","const":"llm_only"},"llmQaModelId":{"default":"gpt-5.6-terra","type":"string","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"]}},"required":["qaMode"]},{"type":"object","properties":{"qaMode":{"type":"string","const":"none"}},"required":["qaMode"]}]},"overlap":{"type":"integer","minimum":1,"maximum":100},"onboarding":{"type":"object","properties":{"enabled":{"type":"boolean"},"steps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"blocks":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"info"},"estimatedTime":{"type":"string"},"role":{"type":"string"},"goal":{"type":"string"},"successCriteria":{"type":"string"}},"required":["id","type","estimatedTime","role","goal","successCriteria"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"text"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}}},"required":["id","type"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"quiz"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["single-choice","multiple-choice"]},"title":{"type":"string"},"question":{"type":"string"},"hint":{"type":"string"},"correctAnswerFeedback":{"type":"string"},"incorrectAnswerFeedback":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"label":{"type":"string"}},"required":["value","label"]}},"correctAnswer":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["id","type","question","options","correctAnswer"]}}},"required":["id","type","questions"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"practice"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"imageUrl":{"type":"string"},"editorType":{"type":"string"},"editorConfig":{"type":"object","properties":{"rows":{"type":"number"},"language":{"type":"string"},"placeholder":{"type":"string"}}},"validators":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"criteria":{"type":"string"}},"required":["id","name","description","criteria"]}}},"required":["id","type"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"examples"},"title":{"type":"string"},"examples":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"input":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema3"}},"checks":{"maxItems":10,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"exact"},"path":{"type":"string"},"golden":{"$ref":"#/components/schemas/__schema4"},"hint":{"type":"string"}},"required":["type","path","golden","hint"]},{"type":"object","properties":{"type":{"type":"string","const":"code"},"code":{"type":"string"},"hint":{"type":"string"}},"required":["type","code","hint"]},{"type":"object","properties":{"type":{"type":"string","const":"llm"},"paths":{"type":"array","items":{"type":"string"}},"criteria":{"type":"string"},"reference":{"type":"string"},"hint":{"type":"string"},"imageUrl":{"type":"string"}},"required":["type","paths","criteria"]}]}},"explanation":{"type":"string"},"sourceItemId":{"type":"string"}},"required":["id","input","checks"]}}},"required":["id","type","examples"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"consent"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"consentLabel":{"type":"string"}},"required":["id","type","consentLabel"]}]}}},"required":["id"]}},"info":{"type":"object","properties":{"estimatedTime":{"type":"string"},"role":{"type":"string"},"goal":{"type":"string"},"successCriteria":{"type":"string"}},"required":["estimatedTime","role","goal","successCriteria"]}},"required":["enabled","steps","info"]},"exam":{"type":"object","properties":{"enabled":{"type":"boolean"},"gradedEntities":{"type":"array","items":{"type":"object","properties":{"targetEntity":{"type":"string"},"mode":{"type":"string","enum":["ground_truth","quality_criteria","not_graded"]},"groundTruthType":{"type":"string","enum":["direct","custom"]},"customInstruction":{"type":"string"},"disabledCriterionIds":{"type":"array","items":{"type":"string","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)$"}}},"required":["targetEntity","mode","groundTruthType","customInstruction","disabledCriterionIds"],"additionalProperties":false}},"goldenDatasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"tasksPerExpert":{"type":"integer","minimum":1,"maximum":9007199254740991},"passThreshold":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["enabled","gradedEntities","tasksPerExpert","passThreshold"],"additionalProperties":false},"reuseAudienceWithNodeId":{"anyOf":[{"type":"object","properties":{"pipelineId":{"type":"string","pattern":"^pl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"nodeId":{"type":"string"}},"required":["pipelineId","nodeId"],"additionalProperties":false},{"type":"null"}]},"smartSearch":{"default":null,"anyOf":[{"type":"object","properties":{"briefDescription":{"type":"string"},"projectDescription":{"anyOf":[{"type":"string"},{"type":"null"}]},"extraHardRequirements":{"type":"array","items":{"type":"string"}},"relevanceCriteria":{"type":"array","items":{"type":"string"}},"typicalJobTitles":{"type":"array","items":{"type":"string"}},"idealCandidateProfile":{"type":"string"},"whoIsNotAFit":{"type":"array","items":{"type":"string"}},"sourceFingerprint":{"type":"string"}},"required":["briefDescription","projectDescription","extraHardRequirements","relevanceCriteria","typicalJobTitles","idealCandidateProfile","whoIsNotAFit"],"additionalProperties":false},{"type":"null"}]},"checks":{"type":"object","propertyNames":{"type":"string","enum":["ui","llmqa","annotation_qa","qc_lint","ui_types_lint","exam_dataset"]},"additionalProperties":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}}]}},"required":["id","name","input"]}}}},"required":["about","publicName","entities","qualityCriteria","instruction","ui","overlap","onboarding"],"additionalProperties":false}},"required":["id","type","settings"],"additionalProperties":false}]}},"connections":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"from":{"type":"object","properties":{"node":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"handle":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"}},"required":["node","handle"],"additionalProperties":false},"to":{"type":"object","properties":{"node":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"handle":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"}},"required":["node","handle"],"additionalProperties":false},"settings":{"type":"object","properties":{},"additionalProperties":{}}},"required":["from","to","settings"],"additionalProperties":false}},"layout":{"type":"object","propertyNames":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"additionalProperties":{"type":"object","propertyNames":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"additionalProperties":{"type":"array","prefixItems":[{"type":"number","description":"X"},{"type":"number","description":"Y"}]},"maxProperties":2},"maxProperties":500}},"required":["version","fields","nodes","connections"],"additionalProperties":false}},"required":["name","graph"],"additionalProperties":false,"$defs":{"__schema0":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema1"}},"__schema1":{"type":"object","properties":{"type":{"anyOf":[{"type":"string","enum":["string","number","integer","boolean","object","array","null"]},{"minItems":1,"type":"array","items":{"type":"string","enum":["string","number","integer","boolean","object","array","null"]}}]},"properties":{"$ref":"#/components/schemas/__schema0"},"required":{"type":"array","items":{"type":"string"}},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#/components/schemas/__schema1"}]},"items":{"$ref":"#/components/schemas/__schema1"},"minItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"uniqueItems":{"type":"boolean"},"enum":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"const":{"$ref":"#/components/schemas/__schema2"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"pattern":{"type":"string"},"format":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":{"$ref":"#/components/schemas/__schema2"},"examples":{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"anyOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"oneOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"allOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}}},"additionalProperties":false},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema2"}}]},"__schema3":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema3"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema3"}}]},"__schema4":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema4"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema4"}}]}}}}}},"tags":["Pipelines"],"summary":"Import a pipeline into a project","description":"Create a pipeline from an exported pipeline document (name + graph, max 2 MB). Rejects if it references secrets the project does not have.","responses":{"200":{"description":"Pipeline imported","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}}},"400":{"description":"Pipeline graph is too large, invalid, or references secrets missing from the project","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"403":{"description":"Trial limit reached. An account that has not completed identity or business verification may hold one project and one pipeline, and cannot start a run. The body message reads \"Your trial allows a single pipeline. Verify your account to unlock full access.\" Complete verification in the web app to lift the limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"404":{"description":"Project not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/pipelines/{pipelineId}/dataset":{"post":{"operationId":"attachPipelineDataset","parameters":[{"in":"path","name":"pipelineId","schema":{"$ref":"#/components/schemas/PipelineId"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"datasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"itemLimit":{"description":"Optional cap on how many items the run will process.","type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"itemFilter":{"description":"Optional filter selecting which dataset items a run processes — by field values, field sources, missing revision fields, a created-before cutoff, the rows of a slice, and the parts of a split column to keep or to leave out. A slice selects its rows, and reads its frozen columns and their split parts, as they were at its cutoff; the other filters, excluded parts included, match the latest values. Omitted means all items; supplying it replaces any previously attached filter.","type":"object","properties":{"fieldValues":{"type":"array","items":{"type":"object","properties":{"jsonPath":{"type":"string","minLength":1},"operator":{"type":"string","enum":["text_eq","text_neq"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"latestOnly":{"default":true,"type":"boolean"},"sources":{"default":[],"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["jsonPath","operator","value","fieldId"],"additionalProperties":false}},"fieldSources":{"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"sources":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["fieldId","sources"],"additionalProperties":false}},"missingRevisionFields":{"type":"array","items":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"slice":{"type":"object","properties":{"sliceId":{"type":"string","pattern":"^dsl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"required":["sliceId"],"additionalProperties":false},"parts":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"names":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}}},"required":["fieldId","names"],"additionalProperties":false},"excludeParts":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"names":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}}},"required":["fieldId","names"],"additionalProperties":false}},"createdBefore":{"type":"string","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))$"}},"additionalProperties":false}},"required":["datasetId"]}}}},"tags":["Pipelines"],"summary":"Bind a source dataset to a pipeline","description":"Attach a dataset to a pipeline (sets the root input dataset). Optionally cap how many items a run processes with itemLimit, or select a subset with itemFilter.","responses":{"200":{"description":"Dataset attached","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}}},"404":{"description":"Pipeline or dataset not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"409":{"description":"Pipeline has an active run and cannot be changed","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/pipelines/{pipelineId}/export":{"get":{"operationId":"exportPipeline","parameters":[{"in":"path","name":"pipelineId","schema":{"$ref":"#/components/schemas/PipelineId"},"required":true}],"tags":["Pipelines"],"summary":"Export a pipeline","description":"Export a pipeline as a portable pipeline document (name + graph) that can be imported into another project. The bound dataset is omitted so the file is portable.","responses":{"200":{"description":"Pipeline configuration","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"graph":{"type":"object","properties":{"version":{"type":"number","const":1},"fields":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"name":{"type":"string"},"jsonSchema":{"$ref":"#/components/schemas/JsonSchema"}},"required":["id","name","jsonSchema"],"additionalProperties":false}},"nodes":{"maxItems":500,"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"type":{"type":"string","const":"root"},"settings":{"type":"object","properties":{"datasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"itemFilter":{"type":"object","properties":{"fieldValues":{"type":"array","items":{"type":"object","properties":{"jsonPath":{"type":"string","minLength":1},"operator":{"type":"string","enum":["text_eq","text_neq"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"latestOnly":{"default":true,"type":"boolean"},"sources":{"default":[],"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["jsonPath","operator","value","fieldId"],"additionalProperties":false}},"fieldSources":{"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"sources":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["fieldId","sources"],"additionalProperties":false}},"missingRevisionFields":{"type":"array","items":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"slice":{"type":"object","properties":{"sliceId":{"type":"string","pattern":"^dsl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"required":["sliceId"],"additionalProperties":false},"parts":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"names":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}}},"required":["fieldId","names"],"additionalProperties":false},"excludeParts":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"names":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}}},"required":["fieldId","names"],"additionalProperties":false}},"createdBefore":{"type":"string","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))$"}},"additionalProperties":false},"itemLimit":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"startedFieldProxies":{"type":"object","properties":{"output":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"optional":{"type":"boolean"}},"required":["id","optional"],"additionalProperties":false}}},"required":["output"]},"completedFieldProxies":{"type":"object","properties":{"input":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"optional":{"type":"boolean"}},"required":["id","optional"],"additionalProperties":false}}},"required":["input"]}},"required":["startedFieldProxies","completedFieldProxies"],"additionalProperties":false}},"required":["id","type","settings"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"type":{"type":"string","const":"code"},"settings":{"type":"object","properties":{"about":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"projectType":{"type":"string","enum":["general","data_collection"]}},"required":["name"],"additionalProperties":false},"fieldProxies":{"type":"object","properties":{"input":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"optional":{"type":"boolean"}},"required":["id","optional"],"additionalProperties":false}},"output":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"optional":{"type":"boolean"}},"required":["id","optional"],"additionalProperties":false}}},"required":["input","output"]},"code":{"type":"object","properties":{"code":{"type":"string"}},"required":["code"],"additionalProperties":false},"envVars":{"default":[],"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"static"},"name":{"type":"string"},"value":{"type":"string"}},"required":["type","name","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"secret"},"name":{"type":"string"},"secretName":{"type":"string"}},"required":["type","name","secretName"],"additionalProperties":false}]}},"checks":{"type":"object","propertyNames":{"type":"string","enum":["code"]},"additionalProperties":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}}]}},"required":["id","name","input"]}}}},"required":["about","fieldProxies","code"],"additionalProperties":false}},"required":["id","type","settings"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"type":{"type":"string","const":"generation"},"settings":{"type":"object","properties":{"about":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"projectType":{"type":"string","enum":["general","data_collection"]}},"required":["name"],"additionalProperties":false},"publicName":{"type":"string"},"entities":{"type":"object","properties":{"input":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":false},"maxEntities":{"type":"null"}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false},{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":true},"maxEntities":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false}]}},"output":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":false},"maxEntities":{"type":"null"}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false},{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":true},"maxEntities":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false}]}}},"required":["input","output"],"additionalProperties":false},"qualityCriteria":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","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)$"},"qualityElement":{"type":"string"},"thresholds":{"type":"object","properties":{"pass":{"type":"string"},"fail":{"type":"string"}},"required":["pass","fail"]},"targetEntity":{"type":"string"},"llmQaInstruction":{"type":"string","maxLength":5000}},"required":["id","qualityElement","thresholds","targetEntity"]}},"instruction":{"type":"string"},"ui":{"type":"object","properties":{"code":{"type":"string"},"data":{"type":"string"},"preprocess":{"type":"string"},"postprocess":{"default":"return {};","type":"string"},"constants":{"type":"string"}},"required":["code","data","preprocess","constants"]},"qualityAssurance":{"default":{"qaMode":"llm_only","llmQaModelId":"gpt-5.6-terra"},"oneOf":[{"type":"object","properties":{"qaMode":{"type":"string","const":"llm_only"},"llmQaModelId":{"default":"gpt-5.6-terra","type":"string","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"]}},"required":["qaMode"]},{"type":"object","properties":{"qaMode":{"type":"string","const":"human_only"},"smartSamplingPercent":{"default":100,"type":"number","minimum":10,"maximum":100},"humanQaTimeForTask":{"type":"number","exclusiveMinimum":0}},"required":["qaMode"],"additionalProperties":false},{"type":"object","properties":{"qaMode":{"type":"string","const":"hybrid"},"smartSamplingPercent":{"default":30,"type":"number","minimum":10,"maximum":100},"humanQaTimeForTask":{"type":"number","exclusiveMinimum":0},"llmQaModelId":{"default":"gpt-5.6-terra","type":"string","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"]}},"required":["qaMode"],"additionalProperties":false}]},"audienceAndPricing":{"default":{"audienceType":"human","verifiedExperts":true,"audience":{"languages":{"type":"and","values":[]},"specializations":{"type":"and","values":[]},"countries":{"type":"or","values":[]}},"pricePerTask":6,"timeForTask":1800,"perExpertCapEnabled":false,"perExpertCapValue":1},"oneOf":[{"type":"object","properties":{"verifiedExperts":{"type":"boolean"},"audience":{"type":"object","properties":{"languages":{"type":"object","properties":{"type":{"type":"string","enum":["or","and"]},"values":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"}},"required":["value"]}}},"required":["type","values"],"additionalProperties":false},"specializations":{"type":"object","properties":{"type":{"type":"string","enum":["or","and"]},"values":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"qualificationId":{"type":"string"}},"required":["value","qualificationId"],"additionalProperties":false}}},"required":["type","values"],"additionalProperties":false},"countries":{"type":"object","properties":{"type":{"type":"string","enum":["or"]},"values":{"type":"array","items":{"type":"string"}}},"required":["type","values"],"additionalProperties":false}},"required":["languages","specializations","countries"],"additionalProperties":false},"pricePerTask":{"type":"number"},"timeForTask":{"type":"number"},"perExpertCapEnabled":{"default":false,"type":"boolean"},"perExpertCapValue":{"default":1,"type":"integer","exclusiveMinimum":0,"maximum":50},"audienceType":{"type":"string","const":"human"}},"required":["verifiedExperts","audience","pricePerTask","timeForTask","audienceType"],"additionalProperties":false},{"type":"object","properties":{"audienceType":{"type":"string","const":"synthetic"},"generationModelId":{"default":"gpt-5.6-terra","type":"string","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"]},"reasoningEffort":{"type":"string","enum":["low","medium","high"]},"llmInstruction":{"default":"","type":"string"},"maxCostPerAttempt":{"type":"number"}},"required":["audienceType","maxCostPerAttempt"],"additionalProperties":false}]},"onboarding":{"type":"object","properties":{"enabled":{"type":"boolean"},"steps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"blocks":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"info"},"estimatedTime":{"type":"string"},"role":{"type":"string"},"goal":{"type":"string"},"successCriteria":{"type":"string"}},"required":["id","type","estimatedTime","role","goal","successCriteria"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"text"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}}},"required":["id","type"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"quiz"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["single-choice","multiple-choice"]},"title":{"type":"string"},"question":{"type":"string"},"hint":{"type":"string"},"correctAnswerFeedback":{"type":"string"},"incorrectAnswerFeedback":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"label":{"type":"string"}},"required":["value","label"]}},"correctAnswer":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["id","type","question","options","correctAnswer"]}}},"required":["id","type","questions"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"practice"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"imageUrl":{"type":"string"},"editorType":{"type":"string"},"editorConfig":{"type":"object","properties":{"rows":{"type":"number"},"language":{"type":"string"},"placeholder":{"type":"string"}}},"validators":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"criteria":{"type":"string"}},"required":["id","name","description","criteria"]}}},"required":["id","type"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"examples"},"title":{"type":"string"},"examples":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"input":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema3"}},"checks":{"maxItems":10,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"exact"},"path":{"type":"string"},"golden":{"$ref":"#/components/schemas/__schema4"},"hint":{"type":"string"}},"required":["type","path","golden","hint"]},{"type":"object","properties":{"type":{"type":"string","const":"code"},"code":{"type":"string"},"hint":{"type":"string"}},"required":["type","code","hint"]},{"type":"object","properties":{"type":{"type":"string","const":"llm"},"paths":{"type":"array","items":{"type":"string"}},"criteria":{"type":"string"},"reference":{"type":"string"},"hint":{"type":"string"},"imageUrl":{"type":"string"}},"required":["type","paths","criteria"]}]}},"explanation":{"type":"string"},"sourceItemId":{"type":"string"}},"required":["id","input","checks"]}}},"required":["id","type","examples"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"consent"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"consentLabel":{"type":"string"}},"required":["id","type","consentLabel"]}]}}},"required":["id"]}},"info":{"type":"object","properties":{"estimatedTime":{"type":"string"},"role":{"type":"string"},"goal":{"type":"string"},"successCriteria":{"type":"string"}},"required":["estimatedTime","role","goal","successCriteria"]}},"required":["enabled","steps","info"]},"exam":{"type":"object","properties":{"enabled":{"type":"boolean"},"gradedEntities":{"type":"array","items":{"type":"object","properties":{"targetEntity":{"type":"string"},"mode":{"type":"string","enum":["ground_truth","quality_criteria","not_graded"]},"groundTruthType":{"type":"string","enum":["direct","custom"]},"customInstruction":{"type":"string"},"disabledCriterionIds":{"type":"array","items":{"type":"string","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)$"}}},"required":["targetEntity","mode","groundTruthType","customInstruction","disabledCriterionIds"],"additionalProperties":false}},"goldenDatasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"tasksPerExpert":{"type":"integer","minimum":1,"maximum":9007199254740991},"passThreshold":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["enabled","gradedEntities","tasksPerExpert","passThreshold"],"additionalProperties":false},"reuseAudienceWithNodeId":{"anyOf":[{"type":"object","properties":{"pipelineId":{"type":"string","pattern":"^pl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"nodeId":{"type":"string"}},"required":["pipelineId","nodeId"],"additionalProperties":false},{"type":"null"}]},"smartSearch":{"default":null,"anyOf":[{"type":"object","properties":{"briefDescription":{"type":"string"},"projectDescription":{"anyOf":[{"type":"string"},{"type":"null"}]},"extraHardRequirements":{"type":"array","items":{"type":"string"}},"relevanceCriteria":{"type":"array","items":{"type":"string"}},"typicalJobTitles":{"type":"array","items":{"type":"string"}},"idealCandidateProfile":{"type":"string"},"whoIsNotAFit":{"type":"array","items":{"type":"string"}},"sourceFingerprint":{"type":"string"}},"required":["briefDescription","projectDescription","extraHardRequirements","relevanceCriteria","typicalJobTitles","idealCandidateProfile","whoIsNotAFit"],"additionalProperties":false},{"type":"null"}]},"checks":{"type":"object","propertyNames":{"type":"string","enum":["ui","llmqa","annotation_qa","qc_lint","ui_types_lint","exam_dataset","synthgen"]},"additionalProperties":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}}]}},"required":["id","name","input"]}}}},"required":["about","publicName","entities","qualityCriteria","instruction","ui","onboarding"],"additionalProperties":false}},"required":["id","type","settings"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"type":{"type":"string","const":"match"},"settings":{"type":"object","properties":{"about":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"projectType":{"type":"string","enum":["general","data_collection"]}},"required":["name"],"additionalProperties":false},"conditions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"logic":{"default":"and","type":"string","enum":["and","or"]},"predicates":{"type":"array","items":{"type":"object","properties":{"fieldProxyId":{"type":"string"},"jsonPath":{"type":"string"},"operator":{"type":"string","enum":["text_eq","text_neq"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]}},"required":["fieldProxyId","jsonPath","operator","value"],"additionalProperties":false}}},"required":["name","predicates"],"additionalProperties":false}},"fieldProxies":{"type":"object","properties":{"input":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"optional":{"type":"boolean"}},"required":["id","optional"],"additionalProperties":false}}},"required":["input"]}},"required":["about","conditions","fieldProxies"],"additionalProperties":false}},"required":["id","type","settings"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"type":{"type":"string","const":"quorum"},"settings":{"type":"object","properties":{"about":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"projectType":{"type":"string","enum":["general","data_collection"]}},"required":["name"],"additionalProperties":false},"publicName":{"type":"string"},"audienceAndPricing":{"default":{"audienceType":"human","verifiedExperts":true,"audience":{"languages":{"type":"and","values":[]},"specializations":{"type":"and","values":[]},"countries":{"type":"or","values":[]}},"pricePerTask":6,"timeForTask":1800,"perExpertCapEnabled":false,"perExpertCapValue":1},"type":"object","properties":{"verifiedExperts":{"type":"boolean"},"audience":{"type":"object","properties":{"languages":{"type":"object","properties":{"type":{"type":"string","enum":["or","and"]},"values":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"}},"required":["value"]}}},"required":["type","values"],"additionalProperties":false},"specializations":{"type":"object","properties":{"type":{"type":"string","enum":["or","and"]},"values":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"qualificationId":{"type":"string"}},"required":["value","qualificationId"],"additionalProperties":false}}},"required":["type","values"],"additionalProperties":false},"countries":{"type":"object","properties":{"type":{"type":"string","enum":["or"]},"values":{"type":"array","items":{"type":"string"}}},"required":["type","values"],"additionalProperties":false}},"required":["languages","specializations","countries"],"additionalProperties":false},"pricePerTask":{"type":"number"},"timeForTask":{"type":"number"},"perExpertCapEnabled":{"default":false,"type":"boolean"},"perExpertCapValue":{"default":1,"type":"integer","exclusiveMinimum":0,"maximum":50},"audienceType":{"type":"string","const":"human"}},"required":["verifiedExperts","audience","pricePerTask","timeForTask","audienceType"],"additionalProperties":false},"entities":{"type":"object","properties":{"input":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":false},"maxEntities":{"type":"null"}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false},{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":true},"maxEntities":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false}]}},"output":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":false},"maxEntities":{"type":"null"}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false},{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":true},"maxEntities":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false}]}}},"required":["input","output"],"additionalProperties":false},"qualityCriteria":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","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)$"},"qualityElement":{"type":"string"},"thresholds":{"type":"object","properties":{"pass":{"type":"string"},"fail":{"type":"string"}},"required":["pass","fail"]},"targetEntity":{"type":"string"},"llmQaInstruction":{"type":"string","maxLength":5000}},"required":["id","qualityElement","thresholds","targetEntity"]}},"offboardingRules":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"type":"string","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":{"type":"string","enum":["mv_agreement"]},"agreementScale":{"type":"string"}},"required":["id"],"additionalProperties":false}},"instruction":{"type":"string"},"ui":{"type":"object","properties":{"code":{"type":"string"},"data":{"type":"string"},"preprocess":{"type":"string"},"postprocess":{"default":"return {};","type":"string"},"constants":{"type":"string"}},"required":["code","data","preprocess","constants"]},"qualityAssurance":{"default":{"qaMode":"llm_only","llmQaModelId":"gpt-5.6-terra"},"oneOf":[{"type":"object","properties":{"qaMode":{"type":"string","const":"llm_only"},"llmQaModelId":{"default":"gpt-5.6-terra","type":"string","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"]}},"required":["qaMode"]},{"type":"object","properties":{"qaMode":{"type":"string","const":"none"}},"required":["qaMode"]}]},"overlap":{"type":"integer","minimum":1,"maximum":100},"onboarding":{"type":"object","properties":{"enabled":{"type":"boolean"},"steps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"blocks":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"info"},"estimatedTime":{"type":"string"},"role":{"type":"string"},"goal":{"type":"string"},"successCriteria":{"type":"string"}},"required":["id","type","estimatedTime","role","goal","successCriteria"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"text"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}}},"required":["id","type"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"quiz"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["single-choice","multiple-choice"]},"title":{"type":"string"},"question":{"type":"string"},"hint":{"type":"string"},"correctAnswerFeedback":{"type":"string"},"incorrectAnswerFeedback":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"label":{"type":"string"}},"required":["value","label"]}},"correctAnswer":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["id","type","question","options","correctAnswer"]}}},"required":["id","type","questions"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"practice"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"imageUrl":{"type":"string"},"editorType":{"type":"string"},"editorConfig":{"type":"object","properties":{"rows":{"type":"number"},"language":{"type":"string"},"placeholder":{"type":"string"}}},"validators":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"criteria":{"type":"string"}},"required":["id","name","description","criteria"]}}},"required":["id","type"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"examples"},"title":{"type":"string"},"examples":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"input":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema3"}},"checks":{"maxItems":10,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"exact"},"path":{"type":"string"},"golden":{"$ref":"#/components/schemas/__schema4"},"hint":{"type":"string"}},"required":["type","path","golden","hint"]},{"type":"object","properties":{"type":{"type":"string","const":"code"},"code":{"type":"string"},"hint":{"type":"string"}},"required":["type","code","hint"]},{"type":"object","properties":{"type":{"type":"string","const":"llm"},"paths":{"type":"array","items":{"type":"string"}},"criteria":{"type":"string"},"reference":{"type":"string"},"hint":{"type":"string"},"imageUrl":{"type":"string"}},"required":["type","paths","criteria"]}]}},"explanation":{"type":"string"},"sourceItemId":{"type":"string"}},"required":["id","input","checks"]}}},"required":["id","type","examples"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"consent"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"consentLabel":{"type":"string"}},"required":["id","type","consentLabel"]}]}}},"required":["id"]}},"info":{"type":"object","properties":{"estimatedTime":{"type":"string"},"role":{"type":"string"},"goal":{"type":"string"},"successCriteria":{"type":"string"}},"required":["estimatedTime","role","goal","successCriteria"]}},"required":["enabled","steps","info"]},"exam":{"type":"object","properties":{"enabled":{"type":"boolean"},"gradedEntities":{"type":"array","items":{"type":"object","properties":{"targetEntity":{"type":"string"},"mode":{"type":"string","enum":["ground_truth","quality_criteria","not_graded"]},"groundTruthType":{"type":"string","enum":["direct","custom"]},"customInstruction":{"type":"string"},"disabledCriterionIds":{"type":"array","items":{"type":"string","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)$"}}},"required":["targetEntity","mode","groundTruthType","customInstruction","disabledCriterionIds"],"additionalProperties":false}},"goldenDatasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"tasksPerExpert":{"type":"integer","minimum":1,"maximum":9007199254740991},"passThreshold":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["enabled","gradedEntities","tasksPerExpert","passThreshold"],"additionalProperties":false},"reuseAudienceWithNodeId":{"anyOf":[{"type":"object","properties":{"pipelineId":{"type":"string","pattern":"^pl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"nodeId":{"type":"string"}},"required":["pipelineId","nodeId"],"additionalProperties":false},{"type":"null"}]},"smartSearch":{"default":null,"anyOf":[{"type":"object","properties":{"briefDescription":{"type":"string"},"projectDescription":{"anyOf":[{"type":"string"},{"type":"null"}]},"extraHardRequirements":{"type":"array","items":{"type":"string"}},"relevanceCriteria":{"type":"array","items":{"type":"string"}},"typicalJobTitles":{"type":"array","items":{"type":"string"}},"idealCandidateProfile":{"type":"string"},"whoIsNotAFit":{"type":"array","items":{"type":"string"}},"sourceFingerprint":{"type":"string"}},"required":["briefDescription","projectDescription","extraHardRequirements","relevanceCriteria","typicalJobTitles","idealCandidateProfile","whoIsNotAFit"],"additionalProperties":false},{"type":"null"}]},"checks":{"type":"object","propertyNames":{"type":"string","enum":["ui","llmqa","annotation_qa","qc_lint","ui_types_lint","exam_dataset"]},"additionalProperties":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}}]}},"required":["id","name","input"]}}}},"required":["about","publicName","entities","qualityCriteria","instruction","ui","overlap","onboarding"],"additionalProperties":false}},"required":["id","type","settings"],"additionalProperties":false}]}},"connections":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"from":{"type":"object","properties":{"node":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"handle":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"}},"required":["node","handle"],"additionalProperties":false},"to":{"type":"object","properties":{"node":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"handle":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"}},"required":["node","handle"],"additionalProperties":false},"settings":{"type":"object","properties":{},"additionalProperties":{}}},"required":["from","to","settings"],"additionalProperties":false}},"layout":{"type":"object","propertyNames":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"additionalProperties":{"type":"object","propertyNames":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"additionalProperties":{"type":"array","prefixItems":[{"type":"number","description":"X"},{"type":"number","description":"Y"}]},"maxProperties":2},"maxProperties":500}},"required":["version","fields","nodes","connections"],"additionalProperties":false}},"required":["name","graph"],"additionalProperties":false,"$defs":{"__schema0":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema1"}},"__schema1":{"type":"object","properties":{"type":{"anyOf":[{"type":"string","enum":["string","number","integer","boolean","object","array","null"]},{"minItems":1,"type":"array","items":{"type":"string","enum":["string","number","integer","boolean","object","array","null"]}}]},"properties":{"$ref":"#/components/schemas/__schema0"},"required":{"type":"array","items":{"type":"string"}},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#/components/schemas/__schema1"}]},"items":{"$ref":"#/components/schemas/__schema1"},"minItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"uniqueItems":{"type":"boolean"},"enum":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"const":{"$ref":"#/components/schemas/__schema2"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"pattern":{"type":"string"},"format":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":{"$ref":"#/components/schemas/__schema2"},"examples":{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"anyOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"oneOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"allOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}}},"additionalProperties":false},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema2"}}]},"__schema3":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema3"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema3"}}]},"__schema4":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema4"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema4"}}]}}}}}},"404":{"description":"Pipeline not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"409":{"description":"Pipeline graph contains a field schema that cannot be exported","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/pipelines/{pipelineId}/copy":{"post":{"operationId":"copyPipeline","parameters":[{"in":"path","name":"pipelineId","schema":{"$ref":"#/components/schemas/PipelineId"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"description":"Name for the copy. Defaults to the source pipeline name.","type":"string","minLength":1}}}}}},"tags":["Pipelines"],"summary":"Copy a pipeline","description":"Create a new pipeline in the same project by copying an existing one (its full configuration, including any attached dataset).","responses":{"200":{"description":"Pipeline copied","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}}},"403":{"description":"Trial limit reached. An account that has not completed identity or business verification may hold one project and one pipeline, and cannot start a run. The body message reads \"Your trial allows a single pipeline. Verify your account to unlock full access.\" Complete verification in the web app to lift the limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"404":{"description":"Pipeline not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/pipelines/{pipelineId}/cost-estimate":{"post":{"operationId":"estimatePipelineCost","parameters":[{"in":"path","name":"pipelineId","schema":{"$ref":"#/components/schemas/PipelineId"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"itemLimit":{"description":"Optional cap on how many items to price. Defaults to the pipeline root itemLimit, or the full matching dataset if none is set.","type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"itemFilter":{"description":"Optional filter selecting which dataset items to price. Defaults to the pipeline root itemFilter.","type":"object","properties":{"fieldValues":{"type":"array","items":{"type":"object","properties":{"jsonPath":{"type":"string","minLength":1},"operator":{"type":"string","enum":["text_eq","text_neq"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"latestOnly":{"default":true,"type":"boolean"},"sources":{"default":[],"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["jsonPath","operator","value","fieldId"],"additionalProperties":false}},"fieldSources":{"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"sources":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["fieldId","sources"],"additionalProperties":false}},"missingRevisionFields":{"type":"array","items":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"slice":{"type":"object","properties":{"sliceId":{"type":"string","pattern":"^dsl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"required":["sliceId"],"additionalProperties":false},"parts":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"names":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}}},"required":["fieldId","names"],"additionalProperties":false},"excludeParts":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"names":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}}},"required":["fieldId","names"],"additionalProperties":false}},"createdBefore":{"type":"string","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))$"}},"additionalProperties":false}}}}}},"tags":["Pipelines"],"summary":"Estimate pipeline cost","description":"Forecast the cost of running the current pipeline graph over its attached dataset. Optional itemLimit and itemFilter override the root node settings for this estimate only. Does not start a run.","responses":{"200":{"description":"Cost estimate","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelineCostEstimate"}}}},"400":{"description":"Pipeline has no dataset attached or the graph is missing a root node","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"404":{"description":"Pipeline not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/pipelines/{pipelineId}/runs":{"post":{"operationId":"createPipelineRun","parameters":[{"in":"path","name":"pipelineId","schema":{"$ref":"#/components/schemas/PipelineId"},"required":true}],"tags":["Runs"],"summary":"Start a pipeline run","description":"Start a run of a pipeline over its attached dataset. A run cannot start until every lint on the pipeline has finished: it is rejected with 400 while a lint has not run, is still running, or has failed. When this call is rejected, it starts the lints that have not run on the current graph and dataset items, and runs the exam dataset lint again when it reported findings, so retry once they finish. It does not restart a failed lint; start it again with `POST /pipelines/{pipelineId}/lints`.","responses":{"200":{"description":"Run started","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunJob"}}}},"400":{"description":"Pipeline is not runnable (e.g. missing delivery order, no dataset, too many items, or lints that have not finished)","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"403":{"description":"Not permitted for this team. An account that has not completed identity or business verification cannot start a run. Complete verification in the web app to lift the limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"404":{"description":"Pipeline not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"409":{"description":"Pipeline already has an active run","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}},"get":{"operationId":"listPipelineRuns","parameters":[{"in":"path","name":"pipelineId","schema":{"$ref":"#/components/schemas/PipelineId"},"required":true},{"in":"query","name":"limit","schema":{"default":20,"type":"integer","minimum":1,"maximum":100}},{"in":"query","name":"offset","schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}}],"tags":["Runs"],"summary":"List pipeline runs","description":"List the runs of a pipeline (newest first). Poll GET /runs/:runId for status.","responses":{"200":{"description":"List runs","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"type":"object","properties":{"runs":{"type":"array","items":{"$ref":"#/components/schemas/RunSummary"}},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["runs","pagination"]}}}},"404":{"description":"Pipeline not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/runs/{runId}":{"get":{"operationId":"getPipelineRun","parameters":[{"in":"path","name":"runId","schema":{"$ref":"#/components/schemas/RunId"},"required":true}],"tags":["Runs"],"summary":"Get a pipeline run","description":"Poll a pipeline run job.","responses":{"200":{"description":"Run job status","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunJob"}}}},"404":{"description":"Run not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/runs/{runId}/cost":{"get":{"operationId":"getPipelineRunCost","parameters":[{"in":"path","name":"runId","schema":{"$ref":"#/components/schemas/RunId"},"required":true}],"tags":["Runs"],"summary":"Get the cost of a run","description":"The cost of a run so far. Poll while the run is in progress; the value is cumulative and never decreases.","responses":{"200":{"description":"Run cost","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunCost"}}}},"404":{"description":"Run not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/runs/{runId}/cancel":{"post":{"operationId":"cancelPipelineRun","parameters":[{"in":"path","name":"runId","schema":{"$ref":"#/components/schemas/RunId"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"pendingHumanQa":{"description":"What happens to items that wait for Human QA. `wait_for_review` (default): keep them in Human QA, and they end with the review result. After 14 days on the node, `accept_without_review` applies to items that still wait, and you pay for the items that it accepts as for completed items. Before this field existed, a cancel never accepted these items. `accept_without_review`: accept them without review now, unless LLM QA rejected them or a reviewer already works on them. You pay for them as for completed items.","type":"string","enum":["accept_without_review","wait_for_review"]}},"additionalProperties":false}}}},"tags":["Runs"],"summary":"Request cancellation of a run","description":"Request cancellation of a run. The run stops processing remaining items; already-completed items are unaffected. Cancellation is asynchronous — poll GET /runs/:runId until the status settles. When the cancellation finishes, the status becomes `failed` with the error `Run canceled`. The optional `pendingHumanQa` field selects what happens to items that wait for Human QA. By default they wait for the review and can end after the run reports `failed`. After 14 days on the node, `accept_without_review` applies to items that still wait, and you pay for the items that it accepts. Before this field existed, a cancel never accepted these items. With `accept_without_review`, they are accepted without review now.","responses":{"200":{"description":"Cancellation requested","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunJob"}}}},"404":{"description":"Run not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"409":{"description":"Run cannot be canceled (not yet deployed, or already canceling/finished)","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/datasets/{datasetId}/sample":{"post":{"operationId":"sampleDatasetItems","parameters":[{"in":"path","name":"datasetId","schema":{"$ref":"#/components/schemas/DatasetId"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"markField":{"type":"string","description":"Column the marker is written to, by field name or id."},"markValue":{"type":"string","minLength":1,"maxLength":64,"description":"Value written into the marker column, for example \"golden\"."},"itemFilter":{"description":"Narrow which rows are eligible. Omit to consider every row.","type":"object","properties":{"fieldValues":{"type":"array","items":{"type":"object","properties":{"jsonPath":{"type":"string","minLength":1},"operator":{"type":"string","enum":["text_eq","text_neq"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"latestOnly":{"default":true,"type":"boolean"},"sources":{"default":[],"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["jsonPath","operator","value","fieldId"],"additionalProperties":false}},"fieldSources":{"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"sources":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["fieldId","sources"],"additionalProperties":false}},"missingRevisionFields":{"type":"array","items":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"slice":{"type":"object","properties":{"sliceId":{"type":"string","pattern":"^dsl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"required":["sliceId"],"additionalProperties":false},"parts":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"names":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}}},"required":["fieldId","names"],"additionalProperties":false},"excludeParts":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"names":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}}},"required":["fieldId","names"],"additionalProperties":false}},"createdBefore":{"type":"string","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))$"}},"additionalProperties":false},"count":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"How many rows to end up marked with this value, capped at how many the filter matches."}},"required":["markField","markValue","count"],"additionalProperties":false},{"type":"object","properties":{"markField":{"type":"string","description":"Column the marker is written to, by field name or id."},"markValue":{"type":"string","minLength":1,"maxLength":64,"description":"Value written into the marker column, for example \"golden\"."},"itemFilter":{"description":"Narrow which rows are eligible. Omit to consider every row.","type":"object","properties":{"fieldValues":{"type":"array","items":{"type":"object","properties":{"jsonPath":{"type":"string","minLength":1},"operator":{"type":"string","enum":["text_eq","text_neq"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"latestOnly":{"default":true,"type":"boolean"},"sources":{"default":[],"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["jsonPath","operator","value","fieldId"],"additionalProperties":false}},"fieldSources":{"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"sources":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["fieldId","sources"],"additionalProperties":false}},"missingRevisionFields":{"type":"array","items":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"slice":{"type":"object","properties":{"sliceId":{"type":"string","pattern":"^dsl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"required":["sliceId"],"additionalProperties":false},"parts":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"names":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}}},"required":["fieldId","names"],"additionalProperties":false},"excludeParts":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"names":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}}},"required":["fieldId","names"],"additionalProperties":false}},"createdBefore":{"type":"string","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))$"}},"additionalProperties":false},"fraction":{"type":"number","exclusiveMinimum":0,"maximum":1,"description":"Share of the matching rows to end up marked, rounded up."}},"required":["markField","markValue","fraction"],"additionalProperties":false}],"description":"Mark a deterministic sample of rows, given exactly one of count or fraction. Selection is ordered by a hash of the row id, so asking for more later extends the same sample instead of redrawing it, and asking again for the same number changes nothing."}}}},"tags":["Datasets"],"summary":"Mark a deterministic sample of rows","description":"Write a marker value into a column on a deterministic subset of rows, so the subset can be addressed afterwards by an ordinary filter on that column. Selection is ordered by a hash of the row id: asking for more later extends the same sample rather than redrawing it, and asking again for the same number is a no-op. Marking runs in the background.","responses":{"200":{"description":"Sampling started","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SampleResult"}}}},"400":{"description":"Unknown column, or neither count nor fraction given","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"404":{"description":"Dataset not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/samples/{sampleId}":{"get":{"operationId":"getDatasetSample","parameters":[{"in":"path","name":"sampleId","schema":{"type":"string","pattern":"^dsm\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"required":true}],"tags":["Datasets"],"summary":"Get the state of a sampling job","description":"Poll a sampling job started by the sample endpoint. `marked` grows as rows take the marker; `status` turns to succeeded once the run settles, which can be short of `target` when fewer rows matched.","responses":{"200":{"description":"Sampling job status","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SampleJob"}}}},"404":{"description":"Sampling job not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/datasets/{datasetId}/slices":{"post":{"operationId":"createDatasetSlice","parameters":[{"in":"path","name":"datasetId","schema":{"$ref":"#/components/schemas/DatasetId"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"name":{"description":"A name to tell slices apart, for example \"October eval\". Defaults to Slice 1, Slice 2 and so on.","type":"string","minLength":1,"maxLength":120},"itemFilter":{"description":"Freeze only the rows this filter matches when the slice is taken, for example rows that passed a data-quality check. Omit to freeze every row. The filter is read at the slice cutoff, so it takes no createdBefore, and it cannot select through another slice or by split parts.","type":"object","properties":{"fieldValues":{"type":"array","items":{"type":"object","properties":{"jsonPath":{"type":"string","minLength":1},"operator":{"type":"string","enum":["text_eq","text_neq"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"latestOnly":{"default":true,"type":"boolean"},"sources":{"default":[],"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["jsonPath","operator","value","fieldId"],"additionalProperties":false}},"fieldSources":{"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"sources":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["fieldId","sources"],"additionalProperties":false}},"missingRevisionFields":{"type":"array","items":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}}},"additionalProperties":false},"frozenColumns":{"description":"Columns, by field name or id, whose values the slice reads as they were at its cutoff. Other columns read live. Defaults to every column. A slice always freezes the split columns, so trainings on it see the parts as they were.","maxItems":500,"type":"array","items":{"type":"string"}}},"additionalProperties":false},{"type":"object","properties":{"name":{"description":"A name to tell slices apart, for example \"October eval\". Defaults to Slice 1, Slice 2 and so on.","type":"string","minLength":1,"maxLength":120},"fromSlice":{"description":"A ready slice of this dataset to take again: the same filter and frozen columns at a new cutoff, so rows added or changed since are picked up.","type":"string","pattern":"^dsl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"frozenColumns":{"description":"Columns, by field name or id, to freeze at the new cutoff. Defaults to the columns the source slice froze.","maxItems":500,"type":"array","items":{"type":"string"}}},"required":["fromSlice"],"additionalProperties":false}],"description":"Freeze the rows of a dataset that match a filter, with chosen columns read as they were at the cutoff. The same slice id always selects the same rows with the same frozen values. Rows added later are never in this slice; take a new slice, for example from this one, to include them."}}}},"tags":["Datasets"],"summary":"Freeze rows of a dataset as a slice","description":"Take the rows that match a filter, or every row, and freeze them at a cutoff together with the chosen columns: the returned id always selects the same rows with the same frozen values, while other columns read live. Pass fromSlice to take an existing slice again, so rows added since are picked up. The slice always freezes the split columns, so trainings on it see the parts the rows had then. A slice cannot be taken while an upload to the dataset is in progress or a split column is being filled. The rows are frozen in the background; poll the slice until it is ready.","responses":{"200":{"description":"Slice started","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetSlice"}}}},"400":{"description":"Unknown column, unsupported filter, or a source slice that is not ready","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"404":{"description":"Dataset not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"409":{"description":"An upload to the dataset is in progress, or a split column is being filled","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}},"get":{"operationId":"listDatasetSlices","parameters":[{"in":"path","name":"datasetId","schema":{"$ref":"#/components/schemas/DatasetId"},"required":true},{"in":"query","name":"limit","schema":{"default":20,"type":"integer","minimum":1,"maximum":100}},{"in":"query","name":"offset","schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}}],"tags":["Datasets"],"summary":"List the slices of a dataset","description":"Newest first. Every slice stays readable by id.","responses":{"200":{"description":"Dataset slices","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"type":"object","properties":{"slices":{"type":"array","items":{"$ref":"#/components/schemas/DatasetSlice"}},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["slices","pagination"]}}}},"404":{"description":"Dataset not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/slices/{sliceId}":{"get":{"operationId":"getDatasetSlice","parameters":[{"in":"path","name":"sliceId","schema":{"type":"string","pattern":"^dsl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"required":true}],"tags":["Datasets"],"summary":"Get a dataset slice","description":"Poll a slice while it is being created; read its row count once it is ready.","responses":{"200":{"description":"Dataset slice","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetSlice"}}}},"404":{"description":"Slice not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/datasets/{datasetId}/split":{"post":{"operationId":"splitDataset","parameters":[{"in":"path","name":"datasetId","schema":{"$ref":"#/components/schemas/DatasetId"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"column":{"default":"split","description":"The split column to fill. A new name creates it; the name of an existing split column fills its empty cells with the same recipe; an ordinary column whose values are all part names becomes a split column, which places rows only once a fill gives it shares. Defaults to split.","type":"string","minLength":1,"maxLength":128,"pattern":"^[a-z]([a-z0-9_]*[a-z0-9])?$"},"parts":{"description":"Parts, each with a name, its roles and a share of the sampled rows. Trainings learn on train parts and validate on validate parts; test parts are held out for evaluations, and no training learns on them. A part can both validate and test, the usual choice when data is scarce, though its test score is then not fully held out. A train part has no other role, and a part with no roles is for anything else. Shares add up to 1. Defaults to train 0.8, validate 0.1, test 0.1 for a new column, and to the column's own parts and shares afterwards. Parts without shares adopt an ordinary column whose values are part names; an adoption places no rows, so it takes no seed, balanceBy, slice or itemFilter.","minItems":1,"maxItems":10,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"},"roles":{"type":"array","items":{"type":"string","enum":["train","validate","test"]}},"share":{"type":"number","exclusiveMinimum":0,"maximum":1}},"required":["name","roles"],"additionalProperties":false}},"balanceBy":{"description":"Label column, by field name or id, to balance by: the rows of every label value are shared out across the parts on their own, so each part gets about the same mix of labels. A label with only a few rows can still miss a part.","type":"string"},"seed":{"description":"Rows are ordered by a hash of the seed and each row's position in the dataset, so the same seed places the same rows the same way, also in another dataset with the same rows uploaded in the same order. Generated when omitted; the column stores it either way.","type":"integer","minimum":0,"maximum":2147483647},"slice":{"description":"Fill only the empty cells of rows in this slice; a slice still being taken is waited for. Omit both slice and itemFilter to fill every empty cell.","type":"string","pattern":"^dsl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"itemFilter":{"description":"Fill only the empty cells of rows this filter matches when the fill starts.","type":"object","properties":{"fieldValues":{"type":"array","items":{"type":"object","properties":{"jsonPath":{"type":"string","minLength":1},"operator":{"type":"string","enum":["text_eq","text_neq"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"latestOnly":{"default":true,"type":"boolean"},"sources":{"default":[],"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["jsonPath","operator","value","fieldId"],"additionalProperties":false}},"fieldSources":{"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"sources":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["fieldId","sources"],"additionalProperties":false}},"missingRevisionFields":{"type":"array","items":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}}},"additionalProperties":false}},"additionalProperties":false,"description":"Fill a split column: every row with no part yet gets one, sampled by share. Rows that already have a part keep it, and the shares count them, so the whole column keeps the same proportions."}}}},"tags":["Datasets"],"summary":"Split a dataset into parts","description":"Fill a split column: every row that has no value in it yet gets the name of a part, sampled by share, so rows that already have a part keep it. A new column name creates the column; the name of an existing split column extends it with the same recipe; an ordinary column whose values are part names becomes a split column, which places rows only once a fill gives it shares. Each part has roles: train, validate and test. Trainings learn only on train parts of a slice that freezes the column, validate on its validate parts, and never learn on a row that any split column marks as test. Placing runs in the background; poll the column's split status in the dataset's fields.","responses":{"200":{"description":"The split column, filling or ready","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetField"}}}},"400":{"description":"Unknown balancing column, failed slice, or values that are not parts","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"404":{"description":"Dataset or slice not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"409":{"description":"The column is still being filled","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/datasets/{datasetId}/exports":{"post":{"operationId":"createDatasetExport","parameters":[{"in":"path","name":"datasetId","schema":{"$ref":"#/components/schemas/DatasetId"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"format":{"default":"json-array","description":"Emit the selected fields as one JSON array. The default when format is omitted.","type":"string","enum":["json-array"]},"fields":{"minItems":1,"type":"array","items":{"type":"string"},"description":"Fields to include in the export, identified by field name or id."}},"required":["fields"],"description":"Select fields for a JSON-array Dataset Export. Trainer-specific JSONL exports are internal."}}}},"tags":["Dataset exports"],"summary":"Start a dataset export","description":"Start a JSON-array export of the selected Dataset fields. Poll the returned job for the download URL.","responses":{"200":{"description":"Export started","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportJob"}}}},"400":{"description":"Unknown field name or id","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"404":{"description":"Dataset not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/exports/{exportId}":{"get":{"operationId":"getDatasetExport","parameters":[{"in":"path","name":"exportId","schema":{"$ref":"#/components/schemas/ExportId"},"required":true}],"tags":["Dataset exports"],"summary":"Get the state of a dataset export","description":"Poll a Dataset Export job for its terminal result or stable failure.","responses":{"200":{"description":"Export job status","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportJob"}}}},"404":{"description":"Export not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/datasets/{datasetId}/fields/from-uploaded":{"post":{"operationId":"createDatasetFieldsFromUploadedRows","parameters":[{"in":"path","name":"datasetId","schema":{"$ref":"#/components/schemas/DatasetId"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"names":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-z]([a-z0-9_]*[a-z0-9])?$"},"description":"Top-level fields of the uploaded rows to add as dataset fields, as the inferred fields name them. Each becomes a dataset field with the JSON schema inferred from the uploaded rows."}},"required":["names"],"additionalProperties":false}}}},"tags":["Datasets"],"summary":"Add fields of the uploaded rows as dataset fields","description":"Add a dataset field for each named top-level field of the uploaded rows, with the JSON schema inferred from them, so filters, balancing and split columns can use its values. The values are copied from the uploaded rows in the background, and from the rows of every later upload: a field reports copying until its copy finishes, and a slice or a split that reads it is refused until then.","responses":{"200":{"description":"Added dataset fields, with their values still being copied","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedDatasetFields"}}}},"400":{"description":"No uploaded rows yet, a field the uploaded rows do not have, or a dataset field that already exists","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"404":{"description":"Dataset not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/pipelines/{pipelineId}/graph":{"get":{"operationId":"getPipelineGraphSnapshot","parameters":[{"in":"path","name":"pipelineId","schema":{"$ref":"#/components/schemas/PipelineId"},"required":true}],"tags":["Pipeline graph"],"summary":"Get the pipeline graph","description":"Read a live pipeline graph snapshot, including its bound dataset and item filter, with a version token for conflict-safe replacement. A field whose stored JSON Schema cannot be read is listed in `invalidFieldSchemas` with its stored text instead of failing the read, so the graph can still be repaired by replacing it.","responses":{"200":{"description":"Live pipeline graph snapshot","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelineGraphSnapshot"}}}},"404":{"description":"Pipeline not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"409":{"description":"The stored pipeline graph does not satisfy the public graph contract","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}},"put":{"operationId":"replacePipelineGraph","parameters":[{"in":"path","name":"pipelineId","schema":{"$ref":"#/components/schemas/PipelineId"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"graph":{"type":"object","properties":{"version":{"type":"number","const":1},"fields":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"name":{"type":"string"},"jsonSchema":{"$ref":"#/components/schemas/JsonSchema"}},"required":["id","name","jsonSchema"],"additionalProperties":false}},"nodes":{"maxItems":500,"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"type":{"type":"string","const":"root"},"settings":{"type":"object","properties":{"datasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"itemFilter":{"type":"object","properties":{"fieldValues":{"type":"array","items":{"type":"object","properties":{"jsonPath":{"type":"string","minLength":1},"operator":{"type":"string","enum":["text_eq","text_neq"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"latestOnly":{"default":true,"type":"boolean"},"sources":{"default":[],"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["jsonPath","operator","value","fieldId"],"additionalProperties":false}},"fieldSources":{"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"sources":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["fieldId","sources"],"additionalProperties":false}},"missingRevisionFields":{"type":"array","items":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"slice":{"type":"object","properties":{"sliceId":{"type":"string","pattern":"^dsl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"required":["sliceId"],"additionalProperties":false},"parts":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"names":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}}},"required":["fieldId","names"],"additionalProperties":false},"excludeParts":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"names":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}}},"required":["fieldId","names"],"additionalProperties":false}},"createdBefore":{"type":"string","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))$"}},"additionalProperties":false},"itemLimit":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"startedFieldProxies":{"type":"object","properties":{"output":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"optional":{"type":"boolean"}},"required":["id","optional"],"additionalProperties":false}}},"required":["output"]},"completedFieldProxies":{"type":"object","properties":{"input":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"optional":{"type":"boolean"}},"required":["id","optional"],"additionalProperties":false}}},"required":["input"]}},"required":["startedFieldProxies","completedFieldProxies"],"additionalProperties":false}},"required":["id","type","settings"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"type":{"type":"string","const":"code"},"settings":{"type":"object","properties":{"about":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"projectType":{"type":"string","enum":["general","data_collection"]}},"required":["name"],"additionalProperties":false},"fieldProxies":{"type":"object","properties":{"input":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"optional":{"type":"boolean"}},"required":["id","optional"],"additionalProperties":false}},"output":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"optional":{"type":"boolean"}},"required":["id","optional"],"additionalProperties":false}}},"required":["input","output"]},"code":{"type":"object","properties":{"code":{"type":"string"}},"required":["code"],"additionalProperties":false},"envVars":{"default":[],"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"static"},"name":{"type":"string"},"value":{"type":"string"}},"required":["type","name","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"secret"},"name":{"type":"string"},"secretName":{"type":"string"}},"required":["type","name","secretName"],"additionalProperties":false}]}},"checks":{"type":"object","propertyNames":{"type":"string","enum":["code"]},"additionalProperties":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}}]}},"required":["id","name","input"]}}}},"required":["about","fieldProxies","code"],"additionalProperties":false}},"required":["id","type","settings"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"type":{"type":"string","const":"generation"},"settings":{"type":"object","properties":{"about":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"projectType":{"type":"string","enum":["general","data_collection"]}},"required":["name"],"additionalProperties":false},"publicName":{"type":"string"},"entities":{"type":"object","properties":{"input":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":false},"maxEntities":{"type":"null"}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false},{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":true},"maxEntities":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false}]}},"output":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":false},"maxEntities":{"type":"null"}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false},{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":true},"maxEntities":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false}]}}},"required":["input","output"],"additionalProperties":false},"qualityCriteria":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","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)$"},"qualityElement":{"type":"string"},"thresholds":{"type":"object","properties":{"pass":{"type":"string"},"fail":{"type":"string"}},"required":["pass","fail"]},"targetEntity":{"type":"string"},"llmQaInstruction":{"type":"string","maxLength":5000}},"required":["id","qualityElement","thresholds","targetEntity"]}},"instruction":{"type":"string"},"ui":{"type":"object","properties":{"code":{"type":"string"},"data":{"type":"string"},"preprocess":{"type":"string"},"postprocess":{"default":"return {};","type":"string"},"constants":{"type":"string"}},"required":["code","data","preprocess","constants"]},"qualityAssurance":{"default":{"qaMode":"llm_only","llmQaModelId":"gpt-5.6-terra"},"oneOf":[{"type":"object","properties":{"qaMode":{"type":"string","const":"llm_only"},"llmQaModelId":{"default":"gpt-5.6-terra","type":"string","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"]}},"required":["qaMode"]},{"type":"object","properties":{"qaMode":{"type":"string","const":"human_only"},"smartSamplingPercent":{"default":100,"type":"number","minimum":10,"maximum":100},"humanQaTimeForTask":{"type":"number","exclusiveMinimum":0}},"required":["qaMode"],"additionalProperties":false},{"type":"object","properties":{"qaMode":{"type":"string","const":"hybrid"},"smartSamplingPercent":{"default":30,"type":"number","minimum":10,"maximum":100},"humanQaTimeForTask":{"type":"number","exclusiveMinimum":0},"llmQaModelId":{"default":"gpt-5.6-terra","type":"string","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"]}},"required":["qaMode"],"additionalProperties":false}]},"audienceAndPricing":{"default":{"audienceType":"human","verifiedExperts":true,"audience":{"languages":{"type":"and","values":[]},"specializations":{"type":"and","values":[]},"countries":{"type":"or","values":[]}},"pricePerTask":6,"timeForTask":1800,"perExpertCapEnabled":false,"perExpertCapValue":1},"oneOf":[{"type":"object","properties":{"verifiedExperts":{"type":"boolean"},"audience":{"type":"object","properties":{"languages":{"type":"object","properties":{"type":{"type":"string","enum":["or","and"]},"values":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"}},"required":["value"]}}},"required":["type","values"],"additionalProperties":false},"specializations":{"type":"object","properties":{"type":{"type":"string","enum":["or","and"]},"values":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"qualificationId":{"type":"string"}},"required":["value","qualificationId"],"additionalProperties":false}}},"required":["type","values"],"additionalProperties":false},"countries":{"type":"object","properties":{"type":{"type":"string","enum":["or"]},"values":{"type":"array","items":{"type":"string"}}},"required":["type","values"],"additionalProperties":false}},"required":["languages","specializations","countries"],"additionalProperties":false},"pricePerTask":{"type":"number"},"timeForTask":{"type":"number"},"perExpertCapEnabled":{"default":false,"type":"boolean"},"perExpertCapValue":{"default":1,"type":"integer","exclusiveMinimum":0,"maximum":50},"audienceType":{"type":"string","const":"human"}},"required":["verifiedExperts","audience","pricePerTask","timeForTask","audienceType"],"additionalProperties":false},{"type":"object","properties":{"audienceType":{"type":"string","const":"synthetic"},"generationModelId":{"default":"gpt-5.6-terra","type":"string","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"]},"reasoningEffort":{"type":"string","enum":["low","medium","high"]},"llmInstruction":{"default":"","type":"string"},"maxCostPerAttempt":{"type":"number"}},"required":["audienceType","maxCostPerAttempt"],"additionalProperties":false}]},"onboarding":{"type":"object","properties":{"enabled":{"type":"boolean"},"steps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"blocks":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"info"},"estimatedTime":{"type":"string"},"role":{"type":"string"},"goal":{"type":"string"},"successCriteria":{"type":"string"}},"required":["id","type","estimatedTime","role","goal","successCriteria"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"text"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}}},"required":["id","type"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"quiz"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["single-choice","multiple-choice"]},"title":{"type":"string"},"question":{"type":"string"},"hint":{"type":"string"},"correctAnswerFeedback":{"type":"string"},"incorrectAnswerFeedback":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"label":{"type":"string"}},"required":["value","label"]}},"correctAnswer":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["id","type","question","options","correctAnswer"]}}},"required":["id","type","questions"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"practice"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"imageUrl":{"type":"string"},"editorType":{"type":"string"},"editorConfig":{"type":"object","properties":{"rows":{"type":"number"},"language":{"type":"string"},"placeholder":{"type":"string"}}},"validators":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"criteria":{"type":"string"}},"required":["id","name","description","criteria"]}}},"required":["id","type"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"examples"},"title":{"type":"string"},"examples":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"input":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema3"}},"checks":{"maxItems":10,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"exact"},"path":{"type":"string"},"golden":{"$ref":"#/components/schemas/__schema4"},"hint":{"type":"string"}},"required":["type","path","golden","hint"]},{"type":"object","properties":{"type":{"type":"string","const":"code"},"code":{"type":"string"},"hint":{"type":"string"}},"required":["type","code","hint"]},{"type":"object","properties":{"type":{"type":"string","const":"llm"},"paths":{"type":"array","items":{"type":"string"}},"criteria":{"type":"string"},"reference":{"type":"string"},"hint":{"type":"string"},"imageUrl":{"type":"string"}},"required":["type","paths","criteria"]}]}},"explanation":{"type":"string"},"sourceItemId":{"type":"string"}},"required":["id","input","checks"]}}},"required":["id","type","examples"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"consent"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"consentLabel":{"type":"string"}},"required":["id","type","consentLabel"]}]}}},"required":["id"]}},"info":{"type":"object","properties":{"estimatedTime":{"type":"string"},"role":{"type":"string"},"goal":{"type":"string"},"successCriteria":{"type":"string"}},"required":["estimatedTime","role","goal","successCriteria"]}},"required":["enabled","steps","info"]},"exam":{"type":"object","properties":{"enabled":{"type":"boolean"},"gradedEntities":{"type":"array","items":{"type":"object","properties":{"targetEntity":{"type":"string"},"mode":{"type":"string","enum":["ground_truth","quality_criteria","not_graded"]},"groundTruthType":{"type":"string","enum":["direct","custom"]},"customInstruction":{"type":"string"},"disabledCriterionIds":{"type":"array","items":{"type":"string","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)$"}}},"required":["targetEntity","mode","groundTruthType","customInstruction","disabledCriterionIds"],"additionalProperties":false}},"goldenDatasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"tasksPerExpert":{"type":"integer","minimum":1,"maximum":9007199254740991},"passThreshold":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["enabled","gradedEntities","tasksPerExpert","passThreshold"],"additionalProperties":false},"reuseAudienceWithNodeId":{"anyOf":[{"type":"object","properties":{"pipelineId":{"type":"string","pattern":"^pl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"nodeId":{"type":"string"}},"required":["pipelineId","nodeId"],"additionalProperties":false},{"type":"null"}]},"smartSearch":{"default":null,"anyOf":[{"type":"object","properties":{"briefDescription":{"type":"string"},"projectDescription":{"anyOf":[{"type":"string"},{"type":"null"}]},"extraHardRequirements":{"type":"array","items":{"type":"string"}},"relevanceCriteria":{"type":"array","items":{"type":"string"}},"typicalJobTitles":{"type":"array","items":{"type":"string"}},"idealCandidateProfile":{"type":"string"},"whoIsNotAFit":{"type":"array","items":{"type":"string"}},"sourceFingerprint":{"type":"string"}},"required":["briefDescription","projectDescription","extraHardRequirements","relevanceCriteria","typicalJobTitles","idealCandidateProfile","whoIsNotAFit"],"additionalProperties":false},{"type":"null"}]},"checks":{"type":"object","propertyNames":{"type":"string","enum":["ui","llmqa","annotation_qa","qc_lint","ui_types_lint","exam_dataset","synthgen"]},"additionalProperties":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}}]}},"required":["id","name","input"]}}}},"required":["about","publicName","entities","qualityCriteria","instruction","ui","onboarding"],"additionalProperties":false}},"required":["id","type","settings"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"type":{"type":"string","const":"match"},"settings":{"type":"object","properties":{"about":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"projectType":{"type":"string","enum":["general","data_collection"]}},"required":["name"],"additionalProperties":false},"conditions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"logic":{"default":"and","type":"string","enum":["and","or"]},"predicates":{"type":"array","items":{"type":"object","properties":{"fieldProxyId":{"type":"string"},"jsonPath":{"type":"string"},"operator":{"type":"string","enum":["text_eq","text_neq"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]}},"required":["fieldProxyId","jsonPath","operator","value"],"additionalProperties":false}}},"required":["name","predicates"],"additionalProperties":false}},"fieldProxies":{"type":"object","properties":{"input":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"optional":{"type":"boolean"}},"required":["id","optional"],"additionalProperties":false}}},"required":["input"]}},"required":["about","conditions","fieldProxies"],"additionalProperties":false}},"required":["id","type","settings"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"type":{"type":"string","const":"quorum"},"settings":{"type":"object","properties":{"about":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"projectType":{"type":"string","enum":["general","data_collection"]}},"required":["name"],"additionalProperties":false},"publicName":{"type":"string"},"audienceAndPricing":{"default":{"audienceType":"human","verifiedExperts":true,"audience":{"languages":{"type":"and","values":[]},"specializations":{"type":"and","values":[]},"countries":{"type":"or","values":[]}},"pricePerTask":6,"timeForTask":1800,"perExpertCapEnabled":false,"perExpertCapValue":1},"type":"object","properties":{"verifiedExperts":{"type":"boolean"},"audience":{"type":"object","properties":{"languages":{"type":"object","properties":{"type":{"type":"string","enum":["or","and"]},"values":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"}},"required":["value"]}}},"required":["type","values"],"additionalProperties":false},"specializations":{"type":"object","properties":{"type":{"type":"string","enum":["or","and"]},"values":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"qualificationId":{"type":"string"}},"required":["value","qualificationId"],"additionalProperties":false}}},"required":["type","values"],"additionalProperties":false},"countries":{"type":"object","properties":{"type":{"type":"string","enum":["or"]},"values":{"type":"array","items":{"type":"string"}}},"required":["type","values"],"additionalProperties":false}},"required":["languages","specializations","countries"],"additionalProperties":false},"pricePerTask":{"type":"number"},"timeForTask":{"type":"number"},"perExpertCapEnabled":{"default":false,"type":"boolean"},"perExpertCapValue":{"default":1,"type":"integer","exclusiveMinimum":0,"maximum":50},"audienceType":{"type":"string","const":"human"}},"required":["verifiedExperts","audience","pricePerTask","timeForTask","audienceType"],"additionalProperties":false},"entities":{"type":"object","properties":{"input":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":false},"maxEntities":{"type":"null"}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false},{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":true},"maxEntities":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false}]}},"output":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":false},"maxEntities":{"type":"null"}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false},{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":true},"maxEntities":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false}]}}},"required":["input","output"],"additionalProperties":false},"qualityCriteria":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","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)$"},"qualityElement":{"type":"string"},"thresholds":{"type":"object","properties":{"pass":{"type":"string"},"fail":{"type":"string"}},"required":["pass","fail"]},"targetEntity":{"type":"string"},"llmQaInstruction":{"type":"string","maxLength":5000}},"required":["id","qualityElement","thresholds","targetEntity"]}},"offboardingRules":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"type":"string","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":{"type":"string","enum":["mv_agreement"]},"agreementScale":{"type":"string"}},"required":["id"],"additionalProperties":false}},"instruction":{"type":"string"},"ui":{"type":"object","properties":{"code":{"type":"string"},"data":{"type":"string"},"preprocess":{"type":"string"},"postprocess":{"default":"return {};","type":"string"},"constants":{"type":"string"}},"required":["code","data","preprocess","constants"]},"qualityAssurance":{"default":{"qaMode":"llm_only","llmQaModelId":"gpt-5.6-terra"},"oneOf":[{"type":"object","properties":{"qaMode":{"type":"string","const":"llm_only"},"llmQaModelId":{"default":"gpt-5.6-terra","type":"string","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"]}},"required":["qaMode"]},{"type":"object","properties":{"qaMode":{"type":"string","const":"none"}},"required":["qaMode"]}]},"overlap":{"type":"integer","minimum":1,"maximum":100},"onboarding":{"type":"object","properties":{"enabled":{"type":"boolean"},"steps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"blocks":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"info"},"estimatedTime":{"type":"string"},"role":{"type":"string"},"goal":{"type":"string"},"successCriteria":{"type":"string"}},"required":["id","type","estimatedTime","role","goal","successCriteria"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"text"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}}},"required":["id","type"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"quiz"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["single-choice","multiple-choice"]},"title":{"type":"string"},"question":{"type":"string"},"hint":{"type":"string"},"correctAnswerFeedback":{"type":"string"},"incorrectAnswerFeedback":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"label":{"type":"string"}},"required":["value","label"]}},"correctAnswer":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["id","type","question","options","correctAnswer"]}}},"required":["id","type","questions"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"practice"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"imageUrl":{"type":"string"},"editorType":{"type":"string"},"editorConfig":{"type":"object","properties":{"rows":{"type":"number"},"language":{"type":"string"},"placeholder":{"type":"string"}}},"validators":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"criteria":{"type":"string"}},"required":["id","name","description","criteria"]}}},"required":["id","type"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"examples"},"title":{"type":"string"},"examples":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"input":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema3"}},"checks":{"maxItems":10,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"exact"},"path":{"type":"string"},"golden":{"$ref":"#/components/schemas/__schema4"},"hint":{"type":"string"}},"required":["type","path","golden","hint"]},{"type":"object","properties":{"type":{"type":"string","const":"code"},"code":{"type":"string"},"hint":{"type":"string"}},"required":["type","code","hint"]},{"type":"object","properties":{"type":{"type":"string","const":"llm"},"paths":{"type":"array","items":{"type":"string"}},"criteria":{"type":"string"},"reference":{"type":"string"},"hint":{"type":"string"},"imageUrl":{"type":"string"}},"required":["type","paths","criteria"]}]}},"explanation":{"type":"string"},"sourceItemId":{"type":"string"}},"required":["id","input","checks"]}}},"required":["id","type","examples"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"consent"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"consentLabel":{"type":"string"}},"required":["id","type","consentLabel"]}]}}},"required":["id"]}},"info":{"type":"object","properties":{"estimatedTime":{"type":"string"},"role":{"type":"string"},"goal":{"type":"string"},"successCriteria":{"type":"string"}},"required":["estimatedTime","role","goal","successCriteria"]}},"required":["enabled","steps","info"]},"exam":{"type":"object","properties":{"enabled":{"type":"boolean"},"gradedEntities":{"type":"array","items":{"type":"object","properties":{"targetEntity":{"type":"string"},"mode":{"type":"string","enum":["ground_truth","quality_criteria","not_graded"]},"groundTruthType":{"type":"string","enum":["direct","custom"]},"customInstruction":{"type":"string"},"disabledCriterionIds":{"type":"array","items":{"type":"string","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)$"}}},"required":["targetEntity","mode","groundTruthType","customInstruction","disabledCriterionIds"],"additionalProperties":false}},"goldenDatasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"tasksPerExpert":{"type":"integer","minimum":1,"maximum":9007199254740991},"passThreshold":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["enabled","gradedEntities","tasksPerExpert","passThreshold"],"additionalProperties":false},"reuseAudienceWithNodeId":{"anyOf":[{"type":"object","properties":{"pipelineId":{"type":"string","pattern":"^pl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"nodeId":{"type":"string"}},"required":["pipelineId","nodeId"],"additionalProperties":false},{"type":"null"}]},"smartSearch":{"default":null,"anyOf":[{"type":"object","properties":{"briefDescription":{"type":"string"},"projectDescription":{"anyOf":[{"type":"string"},{"type":"null"}]},"extraHardRequirements":{"type":"array","items":{"type":"string"}},"relevanceCriteria":{"type":"array","items":{"type":"string"}},"typicalJobTitles":{"type":"array","items":{"type":"string"}},"idealCandidateProfile":{"type":"string"},"whoIsNotAFit":{"type":"array","items":{"type":"string"}},"sourceFingerprint":{"type":"string"}},"required":["briefDescription","projectDescription","extraHardRequirements","relevanceCriteria","typicalJobTitles","idealCandidateProfile","whoIsNotAFit"],"additionalProperties":false},{"type":"null"}]},"checks":{"type":"object","propertyNames":{"type":"string","enum":["ui","llmqa","annotation_qa","qc_lint","ui_types_lint","exam_dataset"]},"additionalProperties":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}}]}},"required":["id","name","input"]}}}},"required":["about","publicName","entities","qualityCriteria","instruction","ui","overlap","onboarding"],"additionalProperties":false}},"required":["id","type","settings"],"additionalProperties":false}]}},"connections":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"from":{"type":"object","properties":{"node":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"handle":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"}},"required":["node","handle"],"additionalProperties":false},"to":{"type":"object","properties":{"node":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"handle":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"}},"required":["node","handle"],"additionalProperties":false},"settings":{"type":"object","properties":{},"additionalProperties":{}}},"required":["from","to","settings"],"additionalProperties":false}},"layout":{"type":"object","propertyNames":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"additionalProperties":{"type":"object","propertyNames":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"additionalProperties":{"type":"array","prefixItems":[{"type":"number","description":"X"},{"type":"number","description":"Y"}]},"maxProperties":2},"maxProperties":500}},"required":["version","fields","nodes","connections"],"additionalProperties":false},"expectedVersion":{"$ref":"#/components/schemas/PipelineGraphVersion"}},"required":["graph"],"$defs":{"__schema0":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema1"}},"__schema1":{"type":"object","properties":{"type":{"anyOf":[{"type":"string","enum":["string","number","integer","boolean","object","array","null"]},{"minItems":1,"type":"array","items":{"type":"string","enum":["string","number","integer","boolean","object","array","null"]}}]},"properties":{"$ref":"#/components/schemas/__schema0"},"required":{"type":"array","items":{"type":"string"}},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#/components/schemas/__schema1"}]},"items":{"$ref":"#/components/schemas/__schema1"},"minItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"uniqueItems":{"type":"boolean"},"enum":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"const":{"$ref":"#/components/schemas/__schema2"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"pattern":{"type":"string"},"format":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":{"$ref":"#/components/schemas/__schema2"},"examples":{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"anyOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"oneOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"allOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}}},"additionalProperties":false},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema2"}}]},"__schema3":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema3"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema3"}}]},"__schema4":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema4"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema4"}}]}}}}}},"tags":["Pipeline graph"],"summary":"Replace the pipeline graph","description":"Replace a pipeline graph (max 2 MB) after validating it and checking that every referenced secret exists in the project. Failed node checks and lint findings do not block the write; they still block starting a run. A pipeline without a dataset accepts a graph without one, but a graph cannot remove a bound dataset. Without `expectedVersion` the write expects the graph that is active when the request starts: if another edit changes the graph while the request is processed, the write is rejected with HTTP 409, so read the graph again and retry.","responses":{"200":{"description":"Pipeline graph replaced","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}}},"400":{"description":"Pipeline graph is too large, invalid, or references missing secrets","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"404":{"description":"Pipeline not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"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":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/pipelines/{pipelineId}/graph/validate":{"post":{"operationId":"validatePipelineGraph","parameters":[{"in":"path","name":"pipelineId","schema":{"$ref":"#/components/schemas/PipelineId"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"graph":{"type":"object","properties":{"version":{"type":"number","const":1},"fields":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"name":{"type":"string"},"jsonSchema":{"$ref":"#/components/schemas/JsonSchema"}},"required":["id","name","jsonSchema"],"additionalProperties":false}},"nodes":{"maxItems":500,"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"type":{"type":"string","const":"root"},"settings":{"type":"object","properties":{"datasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"itemFilter":{"type":"object","properties":{"fieldValues":{"type":"array","items":{"type":"object","properties":{"jsonPath":{"type":"string","minLength":1},"operator":{"type":"string","enum":["text_eq","text_neq"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"latestOnly":{"default":true,"type":"boolean"},"sources":{"default":[],"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["jsonPath","operator","value","fieldId"],"additionalProperties":false}},"fieldSources":{"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"sources":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["fieldId","sources"],"additionalProperties":false}},"missingRevisionFields":{"type":"array","items":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"slice":{"type":"object","properties":{"sliceId":{"type":"string","pattern":"^dsl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"required":["sliceId"],"additionalProperties":false},"parts":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"names":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}}},"required":["fieldId","names"],"additionalProperties":false},"excludeParts":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"names":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}}},"required":["fieldId","names"],"additionalProperties":false}},"createdBefore":{"type":"string","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))$"}},"additionalProperties":false},"itemLimit":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"startedFieldProxies":{"type":"object","properties":{"output":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"optional":{"type":"boolean"}},"required":["id","optional"],"additionalProperties":false}}},"required":["output"]},"completedFieldProxies":{"type":"object","properties":{"input":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"optional":{"type":"boolean"}},"required":["id","optional"],"additionalProperties":false}}},"required":["input"]}},"required":["startedFieldProxies","completedFieldProxies"],"additionalProperties":false}},"required":["id","type","settings"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"type":{"type":"string","const":"code"},"settings":{"type":"object","properties":{"about":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"projectType":{"type":"string","enum":["general","data_collection"]}},"required":["name"],"additionalProperties":false},"fieldProxies":{"type":"object","properties":{"input":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"optional":{"type":"boolean"}},"required":["id","optional"],"additionalProperties":false}},"output":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"optional":{"type":"boolean"}},"required":["id","optional"],"additionalProperties":false}}},"required":["input","output"]},"code":{"type":"object","properties":{"code":{"type":"string"}},"required":["code"],"additionalProperties":false},"envVars":{"default":[],"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"static"},"name":{"type":"string"},"value":{"type":"string"}},"required":["type","name","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"secret"},"name":{"type":"string"},"secretName":{"type":"string"}},"required":["type","name","secretName"],"additionalProperties":false}]}},"checks":{"type":"object","propertyNames":{"type":"string","enum":["code"]},"additionalProperties":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}}]}},"required":["id","name","input"]}}}},"required":["about","fieldProxies","code"],"additionalProperties":false}},"required":["id","type","settings"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"type":{"type":"string","const":"generation"},"settings":{"type":"object","properties":{"about":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"projectType":{"type":"string","enum":["general","data_collection"]}},"required":["name"],"additionalProperties":false},"publicName":{"type":"string"},"entities":{"type":"object","properties":{"input":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":false},"maxEntities":{"type":"null"}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false},{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":true},"maxEntities":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false}]}},"output":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":false},"maxEntities":{"type":"null"}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false},{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":true},"maxEntities":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false}]}}},"required":["input","output"],"additionalProperties":false},"qualityCriteria":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","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)$"},"qualityElement":{"type":"string"},"thresholds":{"type":"object","properties":{"pass":{"type":"string"},"fail":{"type":"string"}},"required":["pass","fail"]},"targetEntity":{"type":"string"},"llmQaInstruction":{"type":"string","maxLength":5000}},"required":["id","qualityElement","thresholds","targetEntity"]}},"instruction":{"type":"string"},"ui":{"type":"object","properties":{"code":{"type":"string"},"data":{"type":"string"},"preprocess":{"type":"string"},"postprocess":{"default":"return {};","type":"string"},"constants":{"type":"string"}},"required":["code","data","preprocess","constants"]},"qualityAssurance":{"default":{"qaMode":"llm_only","llmQaModelId":"gpt-5.6-terra"},"oneOf":[{"type":"object","properties":{"qaMode":{"type":"string","const":"llm_only"},"llmQaModelId":{"default":"gpt-5.6-terra","type":"string","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"]}},"required":["qaMode"]},{"type":"object","properties":{"qaMode":{"type":"string","const":"human_only"},"smartSamplingPercent":{"default":100,"type":"number","minimum":10,"maximum":100},"humanQaTimeForTask":{"type":"number","exclusiveMinimum":0}},"required":["qaMode"],"additionalProperties":false},{"type":"object","properties":{"qaMode":{"type":"string","const":"hybrid"},"smartSamplingPercent":{"default":30,"type":"number","minimum":10,"maximum":100},"humanQaTimeForTask":{"type":"number","exclusiveMinimum":0},"llmQaModelId":{"default":"gpt-5.6-terra","type":"string","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"]}},"required":["qaMode"],"additionalProperties":false}]},"audienceAndPricing":{"default":{"audienceType":"human","verifiedExperts":true,"audience":{"languages":{"type":"and","values":[]},"specializations":{"type":"and","values":[]},"countries":{"type":"or","values":[]}},"pricePerTask":6,"timeForTask":1800,"perExpertCapEnabled":false,"perExpertCapValue":1},"oneOf":[{"type":"object","properties":{"verifiedExperts":{"type":"boolean"},"audience":{"type":"object","properties":{"languages":{"type":"object","properties":{"type":{"type":"string","enum":["or","and"]},"values":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"}},"required":["value"]}}},"required":["type","values"],"additionalProperties":false},"specializations":{"type":"object","properties":{"type":{"type":"string","enum":["or","and"]},"values":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"qualificationId":{"type":"string"}},"required":["value","qualificationId"],"additionalProperties":false}}},"required":["type","values"],"additionalProperties":false},"countries":{"type":"object","properties":{"type":{"type":"string","enum":["or"]},"values":{"type":"array","items":{"type":"string"}}},"required":["type","values"],"additionalProperties":false}},"required":["languages","specializations","countries"],"additionalProperties":false},"pricePerTask":{"type":"number"},"timeForTask":{"type":"number"},"perExpertCapEnabled":{"default":false,"type":"boolean"},"perExpertCapValue":{"default":1,"type":"integer","exclusiveMinimum":0,"maximum":50},"audienceType":{"type":"string","const":"human"}},"required":["verifiedExperts","audience","pricePerTask","timeForTask","audienceType"],"additionalProperties":false},{"type":"object","properties":{"audienceType":{"type":"string","const":"synthetic"},"generationModelId":{"default":"gpt-5.6-terra","type":"string","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"]},"reasoningEffort":{"type":"string","enum":["low","medium","high"]},"llmInstruction":{"default":"","type":"string"},"maxCostPerAttempt":{"type":"number"}},"required":["audienceType","maxCostPerAttempt"],"additionalProperties":false}]},"onboarding":{"type":"object","properties":{"enabled":{"type":"boolean"},"steps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"blocks":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"info"},"estimatedTime":{"type":"string"},"role":{"type":"string"},"goal":{"type":"string"},"successCriteria":{"type":"string"}},"required":["id","type","estimatedTime","role","goal","successCriteria"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"text"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}}},"required":["id","type"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"quiz"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["single-choice","multiple-choice"]},"title":{"type":"string"},"question":{"type":"string"},"hint":{"type":"string"},"correctAnswerFeedback":{"type":"string"},"incorrectAnswerFeedback":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"label":{"type":"string"}},"required":["value","label"]}},"correctAnswer":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["id","type","question","options","correctAnswer"]}}},"required":["id","type","questions"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"practice"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"imageUrl":{"type":"string"},"editorType":{"type":"string"},"editorConfig":{"type":"object","properties":{"rows":{"type":"number"},"language":{"type":"string"},"placeholder":{"type":"string"}}},"validators":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"criteria":{"type":"string"}},"required":["id","name","description","criteria"]}}},"required":["id","type"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"examples"},"title":{"type":"string"},"examples":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"input":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema3"}},"checks":{"maxItems":10,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"exact"},"path":{"type":"string"},"golden":{"$ref":"#/components/schemas/__schema4"},"hint":{"type":"string"}},"required":["type","path","golden","hint"]},{"type":"object","properties":{"type":{"type":"string","const":"code"},"code":{"type":"string"},"hint":{"type":"string"}},"required":["type","code","hint"]},{"type":"object","properties":{"type":{"type":"string","const":"llm"},"paths":{"type":"array","items":{"type":"string"}},"criteria":{"type":"string"},"reference":{"type":"string"},"hint":{"type":"string"},"imageUrl":{"type":"string"}},"required":["type","paths","criteria"]}]}},"explanation":{"type":"string"},"sourceItemId":{"type":"string"}},"required":["id","input","checks"]}}},"required":["id","type","examples"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"consent"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"consentLabel":{"type":"string"}},"required":["id","type","consentLabel"]}]}}},"required":["id"]}},"info":{"type":"object","properties":{"estimatedTime":{"type":"string"},"role":{"type":"string"},"goal":{"type":"string"},"successCriteria":{"type":"string"}},"required":["estimatedTime","role","goal","successCriteria"]}},"required":["enabled","steps","info"]},"exam":{"type":"object","properties":{"enabled":{"type":"boolean"},"gradedEntities":{"type":"array","items":{"type":"object","properties":{"targetEntity":{"type":"string"},"mode":{"type":"string","enum":["ground_truth","quality_criteria","not_graded"]},"groundTruthType":{"type":"string","enum":["direct","custom"]},"customInstruction":{"type":"string"},"disabledCriterionIds":{"type":"array","items":{"type":"string","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)$"}}},"required":["targetEntity","mode","groundTruthType","customInstruction","disabledCriterionIds"],"additionalProperties":false}},"goldenDatasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"tasksPerExpert":{"type":"integer","minimum":1,"maximum":9007199254740991},"passThreshold":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["enabled","gradedEntities","tasksPerExpert","passThreshold"],"additionalProperties":false},"reuseAudienceWithNodeId":{"anyOf":[{"type":"object","properties":{"pipelineId":{"type":"string","pattern":"^pl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"nodeId":{"type":"string"}},"required":["pipelineId","nodeId"],"additionalProperties":false},{"type":"null"}]},"smartSearch":{"default":null,"anyOf":[{"type":"object","properties":{"briefDescription":{"type":"string"},"projectDescription":{"anyOf":[{"type":"string"},{"type":"null"}]},"extraHardRequirements":{"type":"array","items":{"type":"string"}},"relevanceCriteria":{"type":"array","items":{"type":"string"}},"typicalJobTitles":{"type":"array","items":{"type":"string"}},"idealCandidateProfile":{"type":"string"},"whoIsNotAFit":{"type":"array","items":{"type":"string"}},"sourceFingerprint":{"type":"string"}},"required":["briefDescription","projectDescription","extraHardRequirements","relevanceCriteria","typicalJobTitles","idealCandidateProfile","whoIsNotAFit"],"additionalProperties":false},{"type":"null"}]},"checks":{"type":"object","propertyNames":{"type":"string","enum":["ui","llmqa","annotation_qa","qc_lint","ui_types_lint","exam_dataset","synthgen"]},"additionalProperties":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}}]}},"required":["id","name","input"]}}}},"required":["about","publicName","entities","qualityCriteria","instruction","ui","onboarding"],"additionalProperties":false}},"required":["id","type","settings"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"type":{"type":"string","const":"match"},"settings":{"type":"object","properties":{"about":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"projectType":{"type":"string","enum":["general","data_collection"]}},"required":["name"],"additionalProperties":false},"conditions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"logic":{"default":"and","type":"string","enum":["and","or"]},"predicates":{"type":"array","items":{"type":"object","properties":{"fieldProxyId":{"type":"string"},"jsonPath":{"type":"string"},"operator":{"type":"string","enum":["text_eq","text_neq"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]}},"required":["fieldProxyId","jsonPath","operator","value"],"additionalProperties":false}}},"required":["name","predicates"],"additionalProperties":false}},"fieldProxies":{"type":"object","properties":{"input":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"optional":{"type":"boolean"}},"required":["id","optional"],"additionalProperties":false}}},"required":["input"]}},"required":["about","conditions","fieldProxies"],"additionalProperties":false}},"required":["id","type","settings"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"type":{"type":"string","const":"quorum"},"settings":{"type":"object","properties":{"about":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"projectType":{"type":"string","enum":["general","data_collection"]}},"required":["name"],"additionalProperties":false},"publicName":{"type":"string"},"audienceAndPricing":{"default":{"audienceType":"human","verifiedExperts":true,"audience":{"languages":{"type":"and","values":[]},"specializations":{"type":"and","values":[]},"countries":{"type":"or","values":[]}},"pricePerTask":6,"timeForTask":1800,"perExpertCapEnabled":false,"perExpertCapValue":1},"type":"object","properties":{"verifiedExperts":{"type":"boolean"},"audience":{"type":"object","properties":{"languages":{"type":"object","properties":{"type":{"type":"string","enum":["or","and"]},"values":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"}},"required":["value"]}}},"required":["type","values"],"additionalProperties":false},"specializations":{"type":"object","properties":{"type":{"type":"string","enum":["or","and"]},"values":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"qualificationId":{"type":"string"}},"required":["value","qualificationId"],"additionalProperties":false}}},"required":["type","values"],"additionalProperties":false},"countries":{"type":"object","properties":{"type":{"type":"string","enum":["or"]},"values":{"type":"array","items":{"type":"string"}}},"required":["type","values"],"additionalProperties":false}},"required":["languages","specializations","countries"],"additionalProperties":false},"pricePerTask":{"type":"number"},"timeForTask":{"type":"number"},"perExpertCapEnabled":{"default":false,"type":"boolean"},"perExpertCapValue":{"default":1,"type":"integer","exclusiveMinimum":0,"maximum":50},"audienceType":{"type":"string","const":"human"}},"required":["verifiedExperts","audience","pricePerTask","timeForTask","audienceType"],"additionalProperties":false},"entities":{"type":"object","properties":{"input":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":false},"maxEntities":{"type":"null"}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false},{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":true},"maxEntities":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false}]}},"output":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":false},"maxEntities":{"type":"null"}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false},{"type":"object","properties":{"fieldProxyId":{"type":"string"},"entityType":{"type":"string"},"optional":{"type":"boolean"},"jsonPath":{"type":"string"},"description":{"type":"string"},"relations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","enum":["context","references","depends_on","evaluates"]}},"required":["id","rel_type"]},{"type":"object","properties":{"id":{"type":"string"},"rel_type":{"type":"string","const":"conditional"},"condition":{"type":"object","properties":{"operator":{"type":"string","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["operator","value"]}},"required":["id","rel_type","condition"]}]}},"minDurationSeconds":{"type":"number","exclusiveMinimum":0},"maxDurationSeconds":{"type":"number","exclusiveMinimum":0},"allowedLabels":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"dynamic":{"type":"boolean","const":true},"maxEntities":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"additionalProperties":false}]}}},"required":["input","output"],"additionalProperties":false},"qualityCriteria":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","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)$"},"qualityElement":{"type":"string"},"thresholds":{"type":"object","properties":{"pass":{"type":"string"},"fail":{"type":"string"}},"required":["pass","fail"]},"targetEntity":{"type":"string"},"llmQaInstruction":{"type":"string","maxLength":5000}},"required":["id","qualityElement","thresholds","targetEntity"]}},"offboardingRules":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"type":"string","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":{"type":"string","enum":["mv_agreement"]},"agreementScale":{"type":"string"}},"required":["id"],"additionalProperties":false}},"instruction":{"type":"string"},"ui":{"type":"object","properties":{"code":{"type":"string"},"data":{"type":"string"},"preprocess":{"type":"string"},"postprocess":{"default":"return {};","type":"string"},"constants":{"type":"string"}},"required":["code","data","preprocess","constants"]},"qualityAssurance":{"default":{"qaMode":"llm_only","llmQaModelId":"gpt-5.6-terra"},"oneOf":[{"type":"object","properties":{"qaMode":{"type":"string","const":"llm_only"},"llmQaModelId":{"default":"gpt-5.6-terra","type":"string","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"]}},"required":["qaMode"]},{"type":"object","properties":{"qaMode":{"type":"string","const":"none"}},"required":["qaMode"]}]},"overlap":{"type":"integer","minimum":1,"maximum":100},"onboarding":{"type":"object","properties":{"enabled":{"type":"boolean"},"steps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"blocks":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"info"},"estimatedTime":{"type":"string"},"role":{"type":"string"},"goal":{"type":"string"},"successCriteria":{"type":"string"}},"required":["id","type","estimatedTime","role","goal","successCriteria"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"text"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}}},"required":["id","type"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"quiz"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["single-choice","multiple-choice"]},"title":{"type":"string"},"question":{"type":"string"},"hint":{"type":"string"},"correctAnswerFeedback":{"type":"string"},"incorrectAnswerFeedback":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"label":{"type":"string"}},"required":["value","label"]}},"correctAnswer":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"required":["id","type","question","options","correctAnswer"]}}},"required":["id","type","questions"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"practice"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"imageUrl":{"type":"string"},"editorType":{"type":"string"},"editorConfig":{"type":"object","properties":{"rows":{"type":"number"},"language":{"type":"string"},"placeholder":{"type":"string"}}},"validators":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"criteria":{"type":"string"}},"required":["id","name","description","criteria"]}}},"required":["id","type"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"examples"},"title":{"type":"string"},"examples":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"input":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema3"}},"checks":{"maxItems":10,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"exact"},"path":{"type":"string"},"golden":{"$ref":"#/components/schemas/__schema4"},"hint":{"type":"string"}},"required":["type","path","golden","hint"]},{"type":"object","properties":{"type":{"type":"string","const":"code"},"code":{"type":"string"},"hint":{"type":"string"}},"required":["type","code","hint"]},{"type":"object","properties":{"type":{"type":"string","const":"llm"},"paths":{"type":"array","items":{"type":"string"}},"criteria":{"type":"string"},"reference":{"type":"string"},"hint":{"type":"string"},"imageUrl":{"type":"string"}},"required":["type","paths","criteria"]}]}},"explanation":{"type":"string"},"sourceItemId":{"type":"string"}},"required":["id","input","checks"]}}},"required":["id","type","examples"]},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"consent"},"title":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"markdown"},"value":{"type":"string"}},"required":["type","value"]}},"consentLabel":{"type":"string"}},"required":["id","type","consentLabel"]}]}}},"required":["id"]}},"info":{"type":"object","properties":{"estimatedTime":{"type":"string"},"role":{"type":"string"},"goal":{"type":"string"},"successCriteria":{"type":"string"}},"required":["estimatedTime","role","goal","successCriteria"]}},"required":["enabled","steps","info"]},"exam":{"type":"object","properties":{"enabled":{"type":"boolean"},"gradedEntities":{"type":"array","items":{"type":"object","properties":{"targetEntity":{"type":"string"},"mode":{"type":"string","enum":["ground_truth","quality_criteria","not_graded"]},"groundTruthType":{"type":"string","enum":["direct","custom"]},"customInstruction":{"type":"string"},"disabledCriterionIds":{"type":"array","items":{"type":"string","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)$"}}},"required":["targetEntity","mode","groundTruthType","customInstruction","disabledCriterionIds"],"additionalProperties":false}},"goldenDatasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"tasksPerExpert":{"type":"integer","minimum":1,"maximum":9007199254740991},"passThreshold":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["enabled","gradedEntities","tasksPerExpert","passThreshold"],"additionalProperties":false},"reuseAudienceWithNodeId":{"anyOf":[{"type":"object","properties":{"pipelineId":{"type":"string","pattern":"^pl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"nodeId":{"type":"string"}},"required":["pipelineId","nodeId"],"additionalProperties":false},{"type":"null"}]},"smartSearch":{"default":null,"anyOf":[{"type":"object","properties":{"briefDescription":{"type":"string"},"projectDescription":{"anyOf":[{"type":"string"},{"type":"null"}]},"extraHardRequirements":{"type":"array","items":{"type":"string"}},"relevanceCriteria":{"type":"array","items":{"type":"string"}},"typicalJobTitles":{"type":"array","items":{"type":"string"}},"idealCandidateProfile":{"type":"string"},"whoIsNotAFit":{"type":"array","items":{"type":"string"}},"sourceFingerprint":{"type":"string"}},"required":["briefDescription","projectDescription","extraHardRequirements","relevanceCriteria","typicalJobTitles","idealCandidateProfile","whoIsNotAFit"],"additionalProperties":false},{"type":"null"}]},"checks":{"type":"object","propertyNames":{"type":"string","enum":["ui","llmqa","annotation_qa","qc_lint","ui_types_lint","exam_dataset"]},"additionalProperties":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}}]}},"required":["id","name","input"]}}}},"required":["about","publicName","entities","qualityCriteria","instruction","ui","overlap","onboarding"],"additionalProperties":false}},"required":["id","type","settings"],"additionalProperties":false}]}},"connections":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"from":{"type":"object","properties":{"node":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"handle":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"}},"required":["node","handle"],"additionalProperties":false},"to":{"type":"object","properties":{"node":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"handle":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"}},"required":["node","handle"],"additionalProperties":false},"settings":{"type":"object","properties":{},"additionalProperties":{}}},"required":["from","to","settings"],"additionalProperties":false}},"layout":{"type":"object","propertyNames":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"additionalProperties":{"type":"object","propertyNames":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"additionalProperties":{"type":"array","prefixItems":[{"type":"number","description":"X"},{"type":"number","description":"Y"}]},"maxProperties":2},"maxProperties":500}},"required":["version","fields","nodes","connections"],"additionalProperties":false}},"required":["graph"],"$defs":{"__schema0":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema1"}},"__schema1":{"type":"object","properties":{"type":{"anyOf":[{"type":"string","enum":["string","number","integer","boolean","object","array","null"]},{"minItems":1,"type":"array","items":{"type":"string","enum":["string","number","integer","boolean","object","array","null"]}}]},"properties":{"$ref":"#/components/schemas/__schema0"},"required":{"type":"array","items":{"type":"string"}},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#/components/schemas/__schema1"}]},"items":{"$ref":"#/components/schemas/__schema1"},"minItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxItems":{"type":"integer","minimum":0,"maximum":9007199254740991},"uniqueItems":{"type":"boolean"},"enum":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"const":{"$ref":"#/components/schemas/__schema2"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"pattern":{"type":"string"},"format":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":{"$ref":"#/components/schemas/__schema2"},"examples":{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},"anyOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"oneOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}},"allOf":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"}}},"additionalProperties":false},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema2"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema2"}}]},"__schema3":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema3"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema3"}}]},"__schema4":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema4"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema4"}}]}}}}}},"tags":["Pipeline graph"],"summary":"Validate a pipeline graph","description":"Run platform spec validation and report the latest matching check jobs for a submitted graph. Does not write the graph. A lint that is pending or running is reported as a `running_node_check` warning, and so is a lint without a run during the first 60 seconds after the graph became active, because lints start automatically a few seconds after a graph is applied: validate again until those warnings are gone. After that window a lint without a run on this graph is reported as `not_ran_node_check`; it does not start by itself, so start it with `POST /pipelines/{pipelineId}/lints`.","responses":{"200":{"description":"Validation report","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelineValidationReport"}}}},"400":{"description":"Submitted graph is not a valid PipelineGraphV1 document","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"404":{"description":"Pipeline not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/pipelines/{pipelineId}/graph/nodes/{nodeId}":{"patch":{"operationId":"patchPipelineNode","parameters":[{"in":"path","name":"pipelineId","schema":{"$ref":"#/components/schemas/PipelineId"},"required":true},{"in":"path","name":"nodeId","schema":{"type":"string"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"settings":{"type":"object","propertyNames":{"type":"string","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$"},"additionalProperties":{}},"expectedVersion":{"$ref":"#/components/schemas/PipelineGraphVersion"}},"required":["settings"]}}}},"tags":["Pipeline graph"],"summary":"Update a single node in the graph","description":"Merge top-level settings onto one pipeline node, then validate and activate the resulting graph as a new revision.","responses":{"200":{"description":"Pipeline node settings patched","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}}},"400":{"description":"The node does not exist or the resulting pipeline graph is invalid","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"404":{"description":"Pipeline not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"409":{"description":"The expected graph version is stale or the pipeline has an active run and cannot be changed","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/projects/{projectId}/tokens":{"post":{"operationId":"createProjectToken","parameters":[{"in":"path","name":"projectId","schema":{"$ref":"#/components/schemas/ProjectId"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateScopedTokenBody"}}}},"tags":["Projects"],"summary":"Issue a project-scoped token","description":"Issue a short-lived token that acts as you, restricted to this project and to the given permissions (a named preset or an explicit list). Send it as the `X-Scoped-Token: <token>` header anywhere in this API (the platform gateway does not forward it inside `Authorization`), or use it as the credential of the `toloka` CLI. Lives at most six hours; cannot issue further tokens.","responses":{"200":{"description":"Token issued","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScopedToken"}}}},"403":{"description":"Your team does not allow one of the requested permissions","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"404":{"description":"Project not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded, or you already hold 1000 live tokens for one of the projects; revoke unused tokens first","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}},"get":{"operationId":"listProjectTokens","parameters":[{"in":"path","name":"projectId","schema":{"$ref":"#/components/schemas/ProjectId"},"required":true},{"in":"query","name":"limit","schema":{"default":20,"type":"integer","minimum":1,"maximum":100}},{"in":"query","name":"offset","schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}}],"tags":["Projects"],"summary":"List live project-scoped tokens","description":"List the tokens issued for this project that have not expired or been revoked, newest first, one page at a time. Only ids and metadata are returned; the secrets are never stored. Requires a human credential (API key or sign-in), not a scoped token.","responses":{"200":{"description":"One page of live tokens","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"type":"object","properties":{"tokens":{"type":"array","items":{"$ref":"#/components/schemas/ScopedTokenSummary"}},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["tokens","pagination"]}}}},"404":{"description":"Project not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}},"delete":{"operationId":"revokeProjectTokens","parameters":[{"in":"path","name":"projectId","schema":{"$ref":"#/components/schemas/ProjectId"},"required":true}],"tags":["Projects"],"summary":"Revoke every live project-scoped token of a project","description":"Revoke all tokens issued for this project that have not expired or been revoked, for example after a credential leak. A token that also covers other projects is revoked as a whole. Requires a human credential (API key or sign-in), not a scoped token.","responses":{"200":{"description":"Tokens revoked","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevokedScopedTokens"}}}},"404":{"description":"Project not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/projects/{projectId}/tokens/{tokenId}":{"delete":{"operationId":"revokeProjectToken","parameters":[{"in":"path","name":"projectId","schema":{"$ref":"#/components/schemas/ProjectId"},"required":true},{"in":"path","name":"tokenId","schema":{"type":"string","pattern":"^pst\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"required":true}],"tags":["Projects"],"summary":"Revoke a project-scoped token","description":"Revoke a token by its id; it stops working immediately. Requires a human credential (API key or sign-in), not a scoped token.","responses":{"204":{"description":"Token revoked","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"404":{"description":"Project or live token not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/tokens/current":{"delete":{"operationId":"revokeCurrentToken","tags":["Projects"],"summary":"Revoke the token making this request","description":"Revoke the project-scoped token presented in the `X-Scoped-Token` header, for example when an agent run ends. Only a scoped token can call this.","responses":{"204":{"description":"Token revoked","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"403":{"description":"The request was not authenticated with a scoped token","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/projects/{projectId}/secrets":{"get":{"operationId":"listProjectSecrets","parameters":[{"in":"path","name":"projectId","schema":{"$ref":"#/components/schemas/ProjectId"},"required":true}],"tags":["Secrets"],"summary":"List project secret names","description":"List project secret names and metadata. Secret values are never returned.","responses":{"200":{"description":"List project secret metadata","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"type":"object","properties":{"secrets":{"type":"array","items":{"$ref":"#/components/schemas/ProjectSecret"}}},"required":["secrets"]}}}},"404":{"description":"Project not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/projects/{projectId}/secrets/{name}":{"put":{"operationId":"setProjectSecret","parameters":[{"in":"path","name":"projectId","schema":{"$ref":"#/components/schemas/ProjectId"},"required":true},{"in":"path","name":"name","schema":{"$ref":"#/components/schemas/ProjectSecretName"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"value":{"type":"string","minLength":1,"maxLength":65536}},"required":["value"]}}}},"tags":["Secrets"],"summary":"Set a project secret","description":"Set or replace a project secret. The secret value is never returned.","responses":{"200":{"description":"Secret metadata","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectSecret"}}}},"404":{"description":"Project not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/projects/{projectId}/files":{"get":{"operationId":"listProjectFiles","parameters":[{"in":"path","name":"projectId","schema":{"$ref":"#/components/schemas/ProjectId"},"required":true}],"tags":["Files"],"summary":"List project files","description":"List files stored in a project.","responses":{"200":{"description":"List project files","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"type":"object","properties":{"files":{"type":"array","items":{"$ref":"#/components/schemas/ProjectFile"}}},"required":["files"]}}}},"404":{"description":"Project not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}},"post":{"operationId":"createProjectFileUpload","parameters":[{"in":"path","name":"projectId","schema":{"$ref":"#/components/schemas/ProjectId"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"filename":{"type":"string","minLength":1},"declaredSizeBytes":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["filename","declaredSizeBytes"]}}}},"tags":["Files"],"summary":"Start a project file upload","description":"Begin a project file upload. PUT the file bytes directly to uploadUrl, then call the finalize endpoint.","responses":{"200":{"description":"Upload initiated","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"type":"object","properties":{"file":{"$ref":"#/components/schemas/ProjectFile"},"uploadUrl":{"type":"string"}},"required":["file","uploadUrl"]}}}},"400":{"description":"File size is invalid","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"404":{"description":"Project not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/projects/{projectId}/files/{fileId}/finalize":{"post":{"operationId":"finalizeProjectFileUpload","parameters":[{"in":"path","name":"projectId","schema":{"$ref":"#/components/schemas/ProjectId"},"required":true},{"in":"path","name":"fileId","schema":{"$ref":"#/components/schemas/ProjectFileId"},"required":true}],"tags":["Files"],"summary":"Finalize a project file upload","description":"Finalize a project file upload after its bytes have been PUT to the uploadUrl.","responses":{"200":{"description":"Upload finalized","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectFile"}}}},"400":{"description":"Uploaded file is missing or too large","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"404":{"description":"Project or file not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/projects/{projectId}/files/{fileId}":{"delete":{"operationId":"deleteProjectFile","parameters":[{"in":"path","name":"projectId","schema":{"$ref":"#/components/schemas/ProjectId"},"required":true},{"in":"path","name":"fileId","schema":{"$ref":"#/components/schemas/ProjectFileId"},"required":true}],"tags":["Files"],"summary":"Delete a project file","description":"Delete a project file.","responses":{"204":{"description":"File deleted","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"404":{"description":"Project or file not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/runs/{runId}/items":{"get":{"operationId":"listPipelineRunItems","parameters":[{"in":"path","name":"runId","schema":{"$ref":"#/components/schemas/RunId"},"required":true},{"in":"query","name":"limit","schema":{"default":20,"type":"integer","minimum":1,"maximum":100}},{"in":"query","name":"offset","schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}}],"tags":["Runs"],"summary":"List the items of a run","description":"List a bounded page of run items with their per-item state and pipeline-level input, output and partial output revision references.","responses":{"200":{"description":"List run items","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/RunItem"}},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["items","pagination"]}}}},"404":{"description":"Run not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/runs/{runId}/items/{itemId}":{"get":{"operationId":"getPipelineRunItem","parameters":[{"in":"path","name":"runId","schema":{"$ref":"#/components/schemas/RunId"},"required":true},{"in":"path","name":"itemId","schema":{"$ref":"#/components/schemas/RunItemId"},"required":true}],"tags":["Runs"],"summary":"Get a single run item","description":"Get one run item with its state and pipeline-level input, output and partial output revision references.","responses":{"200":{"description":"Run item","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunItem"}}}},"404":{"description":"Run item not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/pipelines/{pipelineId}/checks":{"get":{"operationId":"listPipelineChecks","parameters":[{"in":"path","name":"pipelineId","schema":{"$ref":"#/components/schemas/PipelineId"},"required":true}],"tags":["Checks"],"summary":"List the checks on a pipeline","description":"List the latest check jobs that still match the pipeline active graph.","responses":{"200":{"description":"List pipeline checks","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"type":"object","properties":{"checks":{"type":"array","items":{"$ref":"#/components/schemas/CheckJob"}}},"required":["checks"],"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/__schema0"}}]}}}}}},"404":{"description":"Pipeline not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}},"post":{"operationId":"createPipelineCheck","parameters":[{"in":"path","name":"pipelineId","schema":{"$ref":"#/components/schemas/PipelineId"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"nodeId":{"type":"string","minLength":1},"checkId":{"type":"string","minLength":1}},"required":["nodeId","checkId"]}}}},"tags":["Checks"],"summary":"Start a pipeline check","description":"Start an asynchronous check against the pipeline active graph.","responses":{"200":{"description":"Check started","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckJob"}}}},"400":{"description":"Check does not exist or cannot run against the active graph","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"404":{"description":"Pipeline not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/pipelines/{pipelineId}/lints":{"post":{"operationId":"runPipelineLints","parameters":[{"in":"path","name":"pipelineId","schema":{"$ref":"#/components/schemas/PipelineId"},"required":true}],"tags":["Checks"],"summary":"Run the lints of a pipeline","description":"Start every lint on the pipeline active graph that has no current result: a lint that has not run on this graph or on the current dataset items, or whose last run failed or timed out. Lints that check dataset contents (Dataset Items and the exam golden dataset) are always run again, because edits to item values do not invalidate their results. Lints that are running are left alone. A pipeline cannot be deployed until the lints of every node on the path from Start to End (`nodesInUse`) have finished, so poll those check jobs until they succeed or fail.","responses":{"200":{"description":"Lints of the pipeline","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunLintsResult"}}}},"404":{"description":"Pipeline not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/checks/{checkRunId}":{"get":{"operationId":"getPipelineCheck","parameters":[{"in":"path","name":"checkRunId","schema":{"$ref":"#/components/schemas/CheckRunId"},"required":true}],"tags":["Checks"],"summary":"Get the state of a pipeline check","description":"Poll a pipeline check job and read its output and report when it succeeds.","responses":{"200":{"description":"Check job status","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckJob"}}}},"404":{"description":"Check run not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/projects/{projectId}/batch-inference-runs":{"post":{"operationId":"createBatchInferenceRun","parameters":[{"in":"path","name":"projectId","schema":{"$ref":"#/components/schemas/ProjectId"},"required":true},{"in":"header","name":"idempotency-key","schema":{"type":"string","minLength":1,"maxLength":128},"required":true,"description":"A caller-generated key reused for retries of one logical request."}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"datasetId":{"type":"string","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"itemFilter":{"type":"object","properties":{"fieldValues":{"type":"array","items":{"type":"object","properties":{"jsonPath":{"type":"string","minLength":1},"operator":{"type":"string","enum":["text_eq","text_neq"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"latestOnly":{"default":true,"type":"boolean"},"sources":{"default":[],"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["jsonPath","operator","value","fieldId"],"additionalProperties":false}},"fieldSources":{"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"sources":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user"},"userId":{"type":"string","minLength":1}},"required":["type","userId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"system"},"source":{"type":"string","minLength":1}},"required":["type","source"],"additionalProperties":false}]}}},"required":["fieldId","sources"],"additionalProperties":false}},"missingRevisionFields":{"type":"array","items":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"slice":{"type":"object","properties":{"sliceId":{"type":"string","pattern":"^dsl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"}},"required":["sliceId"],"additionalProperties":false},"parts":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"names":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}}},"required":["fieldId","names"],"additionalProperties":false},"excludeParts":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"names":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$"}}},"required":["fieldId","names"],"additionalProperties":false}}},"additionalProperties":false},"model":{"$ref":"#/components/schemas/BatchInferenceModel"},"mode":{"$ref":"#/components/schemas/BatchInferenceMode"},"sampling":{"type":"object","properties":{"maxOutputTokens":{"type":"integer","minimum":1,"maximum":8192},"temperature":{"default":0,"type":"number","minimum":0,"maximum":2},"topP":{"type":"number","exclusiveMinimum":0,"maximum":1},"stop":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"string","minLength":1,"maxLength":64}},"seed":{"type":"integer","minimum":0,"maximum":2147483647},"samplesPerRow":{"default":1,"type":"integer","minimum":1,"maximum":16}},"required":["maxOutputTokens"],"additionalProperties":false,"description":"Generation settings for every model call: maxOutputTokens caps each answer and bounds the quote, and samplesPerRow is how many answers each row gets."},"output":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"field"},"fieldName":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-z]([a-z0-9_]*[a-z0-9])?$"}},"required":["type","fieldName"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"dataset"},"name":{"type":"string","minLength":1,"maxLength":255}},"required":["type","name"],"additionalProperties":false}],"description":"Where completions land: a text column on the source dataset, or a new chat-sft dataset."}},"required":["datasetId","model","sampling","output"],"additionalProperties":false,"description":"Rows of one dataset to answer with one model."}}}},"tags":["Batch inference"],"summary":"Create a Batch Inference Run","description":"Freeze the selected rows, export their prompts and prepare a quote. The run waits for confirmation before it holds money or uses a GPU.","responses":{"200":{"description":"Batch Inference Run preparing its quote","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchInferenceRun"}}}},"409":{"description":"Idempotency key reused for a different request","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}},"get":{"operationId":"listBatchInferenceRuns","parameters":[{"in":"path","name":"projectId","schema":{"$ref":"#/components/schemas/ProjectId"},"required":true},{"in":"query","name":"limit","schema":{"default":20,"type":"integer","minimum":1,"maximum":100}},{"in":"query","name":"offset","schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}}],"tags":["Batch inference"],"summary":"List Batch Inference Runs","responses":{"200":{"description":"Batch Inference Runs of the project, newest first","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"type":"object","properties":{"batchInferenceRuns":{"type":"array","items":{"$ref":"#/components/schemas/BatchInferenceRun"}},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["batchInferenceRuns","pagination"]}}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/batch-inference-runs/{batchInferenceRunId}":{"get":{"operationId":"getBatchInferenceRun","parameters":[{"in":"path","name":"batchInferenceRunId","schema":{"$ref":"#/components/schemas/BatchInferenceRunId"},"required":true}],"tags":["Batch inference"],"summary":"Get a Batch Inference Run","responses":{"200":{"description":"Batch Inference Run","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchInferenceRun"}}}},"404":{"description":"Batch Inference Run not found","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/batch-inference-runs/{batchInferenceRunId}/confirm":{"post":{"operationId":"confirmBatchInferenceRun","parameters":[{"in":"path","name":"batchInferenceRunId","schema":{"$ref":"#/components/schemas/BatchInferenceRunId"},"required":true}],"tags":["Batch inference"],"summary":"Confirm the quote and start a Batch Inference Run","responses":{"200":{"description":"Updated Batch Inference Run","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchInferenceRun"}}}},"409":{"description":"The quote is not ready, has expired, or the run already ended","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/batch-inference-runs/{batchInferenceRunId}/resume":{"post":{"operationId":"resumeBatchInferenceRun","parameters":[{"in":"path","name":"batchInferenceRunId","schema":{"$ref":"#/components/schemas/BatchInferenceRunId"},"required":true}],"tags":["Batch inference"],"summary":"Resume a Batch Inference Run blocked on funds or payment","description":"Add funds first. A run blocked on funds holds the quoted maximum charge again; a run blocked on payment retries the charge, within seven days of the first attempt, after which it fails with payment_window_expired.","responses":{"200":{"description":"Updated Batch Inference Run","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchInferenceRun"}}}},"409":{"description":"Batch Inference Run is not resumable from its current state","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/batch-inference-runs/{batchInferenceRunId}/cancel":{"post":{"operationId":"cancelBatchInferenceRun","parameters":[{"in":"path","name":"batchInferenceRunId","schema":{"$ref":"#/components/schemas/BatchInferenceRunId"},"required":true}],"tags":["Batch inference"],"summary":"Cancel a Batch Inference Run","responses":{"200":{"description":"Updated Batch Inference Run","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchInferenceRun"}}}},"409":{"description":"Batch Inference Run cannot be canceled from its current state","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}},"429":{"description":"Rate limit exceeded","headers":{"X-Request-Id":{"schema":{"type":"string"},"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."},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum number of requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"The number of seconds until the current window resets."},"RateLimit-Policy":{"schema":{"type":"string"},"description":"The rate limit policy (e.g., \"60;w=60\")."}}}}}},"/api/v2-beta/admin/batch-inference-runs/{batchInferenceRunId}/billing-resolution":{}}}