Hub-API
Ihre Skripte und Dienste handeln in Ihrem Namen mit denselben Rechten wie Ihr Agent.
Basisadresse: https://hub.n1.team/api/v1. Bewahren Sie den Schlüssel auf dem Server oder in einem lokalen Skript auf. Diese API gilt für serverseitige Clients; Cross-Origin-Anfragen aus dem Browser werden nicht unterstützt. Das interne /api der Anwendung ist kein öffentlicher Vertrag.
Einstieg
Legen Sie auf der Seite „Agenten“ einen persönlichen Schlüssel an. Speichern Sie ihn als N1_HUB_KEY dort, wo Ihr Skript läuft. Es ist derselbe Schlüssel wie für MCP; Cookies und das Notfall-Bootstrap-Token werden nicht akzeptiert.
Meine Schlüssel OpenAPI 3.1 JSON
Aufgabe anlegen
curl --fail-with-body -X POST 'https://hub.n1.team/api/v1/tasks' \
-H "Authorization: Bearer $N1_HUB_KEY" \
-H 'Content-Type: application/json' \
--data '{"title":"Nutzerpfad prüfen"}'HTTP 200 liefert die Aufgabe. Derselbe Titel derselben Person innerhalb von zehn Minuten liefert die bestehende Aufgabe. Eine Agentenaufgabe ohne Begründung für die Annahme landet in der Sichtung.
Aufgabe lesen
curl --fail-with-body -X GET 'https://hub.n1.team/api/v1/tasks/HUB-123' \
-H "Authorization: Bearer $N1_HUB_KEY"Aufgabe ändern
curl --fail-with-body -X PATCH 'https://hub.n1.team/api/v1/tasks/HUB-123' \
-H "Authorization: Bearer $N1_HUB_KEY" \
-H 'Content-Type: application/json' \
--data '{"plannedStart":"2026-11-02","dueDate":"2026-11-06"}'plannedStart und dueDate sind reine Datumswerte; null löscht das jeweilige Datum. Der Beginn darf nicht nach der Frist liegen; Daten werden nicht automatisch verschoben. Um den Text vor einer anderen Bearbeitung zu schützen, senden Sie expectedDescription mit der ursprünglichen Beschreibung. Für die Daten senden Sie expectedDates mit beiden ursprünglichen Werten plannedStart und dueDate. Ein 409 lässt alle Aufgabenfelder unverändert.
Metrik lesen
curl --fail-with-body -X POST 'https://hub.n1.team/api/v1/metrics/query' \
-H "Authorization: Bearer $N1_HUB_KEY" \
-H 'Content-Type: application/json' \
--data '{"product":"your-product","ref":"events.count:open","days":28}'Ersetzen Sie product durch Ihren Produktcode und ref durch eine Metrikreferenz aus dem Hub. days ist standardmäßig 28, höchstens 730. Stattdessen können Sie from und to übergeben (YYYY-MM-DD), höchstens 730 Tage einschließlich. Die Zahlen enthalten Quelle, Datenstand, Lücken und Vorbehalte. Eine Lücke ist null und nicht die Zahl 0. Währungsmetriken verwenden major units; amounts nennt den Maßstab.
Arbeitsprozess des Teams
curl --fail-with-body -X GET 'https://hub.n1.team/api/v1/workflow' \
-H "Authorization: Bearer $N1_HUB_KEY"PUT /workflow speichert die vollständige config und die Pflichtangabe expectedVersion aus dem Lesen. Der Inhaber oder sein Agent ändert mit reason; ein veraltetes 409 erzeugt keine Teilversion. Spalten und Typen lassen sich hinzufügen, umbenennen und umsortieren. Das Entfernen bestehender IDs und ein Wechsel der Kategorie einer vorhandenen Spalte werden abgelehnt. Die Aufgabenfelder columnId und taskTypeId kommen hinzu; status behält die Kategorie für ältere Clients. Die Konfiguration startet keine Agenten und weist sie nicht neu zu.
Vertrag und Grenzen
Bis zu 120 Anfragen pro Minute je Schlüssel, gemeinsam mit MCP. Anfragekörper: höchstens 256 KiB; Content-Type: application/json. Teamkontingente und Produktrechte gelten. Widerruf des Schlüssels, Entfernen aus dem Team und ein engerer Zugriff gelten ab der nächsten Anfrage. Private Antworten dürfen nicht zwischengespeichert werden.
Diese Version legt eine Aufgabe an, liest und ändert sie, liest eine numerische Metrik und stellt den Teamprozess sowie die Sprintplanung ein. GET /planning liest die Einstellungen; PUT /planning ändert sie als Inhaber. GET /cycles und /cycles/{ref} lesen Zyklen; PATCH /cycles/{ref} ändert das Ziel. Die Rechte entsprechen MCP. Die Karte enthält Zähler, nicht Verlauf, Kommentare oder Anhänge; die Metrik enthält keine Aufgabenanmerkungen. Sammlungen mit Cursor und weitere Operationen folgen getrennt. v1 kann Felder ergänzen; eine inkompatible Änderung braucht eine neue Version.
Fehler
Die Antwort enthält code, message und hint (eine Zeichenkette oder null). 400: ungültige Anfrage; 401: Schlüssel nicht akzeptiert; 403: Aktion verboten; 404: Objekt nicht verfügbar; 409: Beschreibung, Plandaten oder Prozessversion sind veraltet; 413/415: Körper oder Format; 429: Ratenlimit oder Kontingent (Retry-After beim Ratenlimit); 500: interner Fehler. Wiederholen Sie einen Schreibvorgang nicht blind, wenn das Ergebnis unbekannt ist.
{"code":"unauthorized","message":"…","hint":null}Lesen darf wiederholt werden: beachten Sie Retry-After bei 429 und nutzen Sie bei vorübergehenden 5xx eine Wartezeit mit Streuung. Das Anlegen von Aufgaben unterstützt Idempotency-Key nicht: der Schutz vor kürzlichen Titel-Duplikaten ist keine allgemeine Idempotenzgarantie. Nach einer Zeitüberschreitung beim Schreiben prüfen Sie zuerst das Ergebnis im Hub.
Feldverzeichnis
Feldnamen, Pflichtfelder, zulässige Werte und Grenzen unten stammen aus denselben Schemas, die Anfragen prüfen. Importieren Sie OpenAPI in Postman oder einen Client-Generator. Antworten sind JSON; Datum und Uhrzeit sind ISO-Zeichenketten. Geben Sie dem Support die X-Request-Id, niemals den Schlüssel.
McpUpdateAcknowledgement
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"updateId": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"keyId": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"updateId",
"keyId"
],
"additionalProperties": false
}PlanningInput
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"kanban",
"cycles"
]
},
"cycleWeeks": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"cycleStartDay": {
"type": "integer",
"minimum": 1,
"maximum": 7
},
"timeZone": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"triage": {
"type": "boolean"
},
"staleDays": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"doneArchive": {
"anyOf": [
{
"oneOf": [
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"const": "after_release"
}
},
"required": [
"mode"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"const": "after_days"
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 365
}
},
"required": [
"mode",
"days"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"const": "manual"
}
},
"required": [
"mode"
],
"additionalProperties": false
}
]
},
{
"type": "null"
}
]
},
"expectedActor": {
"type": "object",
"properties": {
"userId": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"userId",
"workspaceId"
],
"additionalProperties": false
}
},
"additionalProperties": false
}CycleGoalInput
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"goal": {
"anyOf": [
{
"type": "string",
"maxLength": 500
},
{
"type": "null"
}
]
},
"expectedActor": {
"type": "object",
"properties": {
"userId": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"userId",
"workspaceId"
],
"additionalProperties": false
}
},
"required": [
"goal"
],
"additionalProperties": false
}Roadmap
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"productId": {
"type": "string"
},
"product": {
"type": "string"
},
"version": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"updatedAt": {
"type": [
"string",
"null"
]
},
"author": {
"anyOf": [
{
"type": "object",
"properties": {
"userId": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": [
"string",
"null"
]
},
"avatarUrl": {
"type": [
"string",
"null"
]
},
"agent": {
"type": [
"string",
"null"
]
}
},
"required": [
"userId",
"name",
"email",
"avatarUrl",
"agent"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"items": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"feature",
"release"
]
},
"title": {
"type": "string"
},
"plannedStart": {
"type": [
"string",
"null"
]
},
"targetDate": {
"type": [
"string",
"null"
]
},
"goal": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"id",
"title"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"taskCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"archived": {
"type": "boolean"
}
},
"required": [
"id",
"kind",
"title",
"plannedStart",
"targetDate",
"goal",
"taskCount",
"archived"
],
"additionalProperties": false
}
},
"nextOffset": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"total": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"productId",
"product",
"version",
"updatedAt",
"author",
"items",
"nextOffset",
"total"
],
"additionalProperties": false
}RoadmapItem
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"feature",
"release"
]
},
"title": {
"type": "string"
},
"plannedStart": {
"type": [
"string",
"null"
]
},
"targetDate": {
"type": [
"string",
"null"
]
},
"goal": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"id",
"title"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"taskCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"archived": {
"type": "boolean"
},
"productId": {
"type": "string"
},
"version": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"description": {
"type": "string"
},
"taskKeys": {
"maxItems": 100,
"type": "array",
"items": {
"type": "string"
}
},
"tasks": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"title": {
"type": "string"
},
"status": {
"type": "string"
}
},
"required": [
"key",
"title",
"status"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"kind",
"title",
"plannedStart",
"targetDate",
"goal",
"taskCount",
"archived",
"productId",
"version",
"description",
"taskKeys",
"tasks"
],
"additionalProperties": false
}RoadmapSave
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"feature",
"release"
]
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": {
"default": "",
"type": "string",
"maxLength": 5000
},
"goal": {
"default": null,
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 80
},
{
"type": "null"
}
]
},
"plannedStart": {
"default": null,
"anyOf": [
{
"type": "string",
"description": "Real calendar date YYYY-MM-DD, years 0001–9999; no time or timezone.",
"format": "date"
},
{
"type": "null"
}
]
},
"targetDate": {
"default": null,
"anyOf": [
{
"type": "string",
"description": "Real calendar date YYYY-MM-DD, years 0001–9999; no time or timezone.",
"format": "date"
},
{
"type": "null"
}
]
},
"tasks": {
"default": [],
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"archived": {
"default": false,
"type": "boolean"
},
"id": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"expectedVersion": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"expectedActor": {
"type": "object",
"properties": {
"userId": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"userId",
"workspaceId"
],
"additionalProperties": false
},
"expectedProductId": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"kind",
"title",
"description",
"goal",
"plannedStart",
"targetDate",
"tasks",
"archived",
"expectedVersion"
],
"additionalProperties": false
}TaskTransitionPreviewInput
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"expectedActor": {
"description": "Optional original user/workspace binding, not an identity to act as. A mismatch rejects the request with 403 before writes; key-bound clients may omit it.",
"type": "object",
"properties": {
"userId": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"userId",
"workspaceId"
],
"additionalProperties": false
},
"expectedStageRevision": {
"description": "Read the task first and pass its stageRevision to reject a changed stage, executor, assignment source, task type, product or site context. Legacy omission remains unconditional.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"expectedWorkflowVersion": {
"description": "Pass the workflowVersion from a transition preview to reject changed process rules before writing.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"status": {
"type": "string",
"enum": [
"triage",
"backlog",
"todo",
"in_progress",
"review",
"done"
]
},
"columnId": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
"taskTypeId": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
{
"type": "null"
}
]
},
"assignee": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"assignmentMode": {
"type": "string",
"const": "process"
},
"comment": {
"type": "string",
"maxLength": 10000
},
"estimate": {
"anyOf": [
{
"type": "string",
"enum": [
"S",
"M",
"L"
]
},
{
"type": "null"
}
]
},
"progression": {
"type": "string",
"const": "next"
},
"reviewDecision": {
"description": "Preview the common Review decision, including restoration of the previous working executor. Do not combine with status, taskTypeId, assignmentMode or estimate.",
"type": "string",
"enum": [
"approve",
"request_changes"
]
}
},
"additionalProperties": false
}TaskTransitionPreview
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"key": {
"type": "string"
},
"stageRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"workflowVersion": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"current": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"triage",
"backlog",
"todo",
"in_progress",
"review",
"done"
]
},
"columnId": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
{
"type": "null"
}
]
},
"taskTypeId": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
{
"type": "null"
}
]
},
"assignee": {
"anyOf": [
{
"type": "object",
"properties": {
"userId": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
"keyId": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
{
"type": "null"
}
]
}
},
"required": [
"userId",
"keyId"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"responsibleUserId": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
{
"type": "null"
}
]
}
},
"required": [
"status",
"columnId",
"taskTypeId",
"assignee",
"responsibleUserId"
],
"additionalProperties": false
},
"next": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"triage",
"backlog",
"todo",
"in_progress",
"review",
"done"
]
},
"columnId": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
{
"type": "null"
}
]
},
"taskTypeId": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
{
"type": "null"
}
]
},
"assignee": {
"anyOf": [
{
"type": "object",
"properties": {
"userId": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
"keyId": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
{
"type": "null"
}
]
}
},
"required": [
"userId",
"keyId"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"responsibleUserId": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
{
"type": "null"
}
]
}
},
"required": [
"status",
"columnId",
"taskTypeId",
"assignee",
"responsibleUserId"
],
"additionalProperties": false
},
"assignment": {
"type": "object",
"properties": {
"source": {
"type": "string",
"enum": [
"manual",
"process",
"inherited"
]
},
"ruleId": {
"type": [
"string",
"null"
]
},
"ruleKind": {
"anyOf": [
{
"type": "string",
"enum": [
"type_column",
"column",
"type",
"default"
]
},
{
"type": "null"
}
]
},
"workflowVersion": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"source",
"ruleId",
"ruleKind",
"workflowVersion"
],
"additionalProperties": false
}
},
"required": [
"key",
"stageRevision",
"workflowVersion",
"current",
"next",
"assignment"
],
"additionalProperties": false
}ReviewInput
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"progression": {
"description": "Approve only the current Review stage and advance to the next configured active/review/done column. Omitted preserves legacy approve-to-Done semantics. Explicit columnId wins.",
"type": "string",
"const": "next"
},
"expectedWorkflowVersion": {
"description": "Pass the workflowVersion from a transition preview to reject changed process rules before writing.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"assignee": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"expectedStageRevision": {
"description": "Read the task first and pass its stageRevision to reject a changed stage, executor, assignment source, task type, product or site context. Legacy omission remains unconditional.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"expectedActor": {
"description": "Optional original user/workspace binding, not an identity to act as. A mismatch rejects the request with 403 before writes; key-bound clients may omit it.",
"type": "object",
"properties": {
"userId": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"userId",
"workspaceId"
],
"additionalProperties": false
},
"columnId": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
"decision": {
"type": "string",
"enum": [
"approve",
"request_changes"
]
},
"comment": {
"type": "string",
"maxLength": 10000
}
},
"required": [
"decision"
],
"additionalProperties": false
}CompleteStageInput
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"runId": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
"stageRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"action": {
"type": "string",
"enum": [
"submit",
"approve",
"request_changes"
]
},
"comment": {
"type": "string",
"minLength": 1,
"maxLength": 20000
},
"columnId": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
"links": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string",
"maxLength": 2000,
"pattern": "^https?:[/][/][\\s\\S]*"
},
"title": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
}
},
"required": [
"url"
],
"additionalProperties": false
}
},
"assignee": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"expectedWorkflowVersion": {
"description": "Pass the workflowVersion from a transition preview to reject changed process rules before writing.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"expectedActor": {
"type": "object",
"properties": {
"userId": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"userId",
"workspaceId"
],
"additionalProperties": false
}
},
"required": [
"runId",
"stageRevision",
"action",
"comment"
],
"additionalProperties": false
}NextTaskInput
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}StageResult
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"task": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"triage",
"backlog",
"todo",
"in_progress",
"review",
"done"
]
},
"columnId": {
"type": [
"string",
"null"
]
},
"taskTypeId": {
"type": [
"string",
"null"
]
},
"responsible": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"name",
"email"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"assignment": {
"type": "object",
"properties": {
"source": {
"type": "string",
"enum": [
"manual",
"process",
"inherited"
]
},
"ruleId": {
"type": [
"string",
"null"
]
},
"ruleKind": {
"anyOf": [
{
"type": "string",
"enum": [
"type_column",
"column",
"type",
"default"
]
},
{
"type": "null"
}
]
},
"workflowVersion": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"source",
"ruleId",
"ruleKind",
"workflowVersion"
],
"additionalProperties": false
},
"stageRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"deliveryMode": {
"type": "string",
"enum": [
"deploy",
"no_deploy"
]
},
"deliveryReason": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 2000
},
{
"type": "null"
}
]
},
"priority": {
"type": "string",
"enum": [
"none",
"low",
"medium",
"high",
"urgent"
]
},
"labels": {
"type": "array",
"items": {
"type": "string"
}
},
"assignee": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": [
"string",
"null"
]
},
"agent": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"name",
"email",
"agent"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"product": {
"type": [
"string",
"null"
]
},
"site": {
"type": [
"string",
"null"
]
},
"pageUrl": {
"type": [
"string",
"null"
]
},
"plannedStart": {
"type": [
"string",
"null"
]
},
"dueDate": {
"type": [
"string",
"null"
]
},
"reviewAfter": {
"type": [
"string",
"null"
]
},
"estimate": {
"anyOf": [
{
"type": "string",
"enum": [
"S",
"M",
"L"
]
},
{
"type": "null"
}
]
},
"goal": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"id",
"title"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"parent": {
"anyOf": [
{
"type": "object",
"properties": {
"key": {
"type": [
"string",
"null"
]
},
"title": {
"type": "string"
}
},
"required": [
"key",
"title"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"cycle": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"cycleScopeProduct": {
"type": [
"string",
"null"
]
},
"checklist": {
"anyOf": [
{
"type": "object",
"properties": {
"done": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"total": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"done",
"total"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"subtasks": {
"anyOf": [
{
"type": "object",
"properties": {
"done": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"total": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"done",
"total"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"comments": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"linkList": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"title": {
"type": [
"string",
"null"
]
}
},
"required": [
"url",
"title"
],
"additionalProperties": false
}
},
"queries": {
"type": "array",
"items": {
"type": "string"
}
},
"outcome": {
"type": [
"string",
"null"
]
},
"hypothesis": {
"anyOf": [
{
"type": "object",
"properties": {
"metric": {
"type": "string",
"minLength": 3,
"maxLength": 300
},
"direction": {
"type": "string",
"enum": [
"increase",
"decrease"
]
},
"minChange": {
"type": "number",
"minimum": 0.01,
"maximum": 10
}
},
"required": [
"metric",
"direction",
"minChange"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"createdBy": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"agent": {
"type": "string"
}
},
"required": [
"name"
],
"additionalProperties": false
},
"createdAt": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"completedAt": {
"type": [
"string",
"null"
]
},
"archivedAt": {
"type": [
"string",
"null"
]
},
"workingAgent": {
"type": [
"string",
"null"
]
},
"activeRun": {
"anyOf": [
{
"type": "object",
"properties": {
"runId": {
"type": "string"
},
"keyId": {
"type": "string"
},
"columnId": {
"type": [
"string",
"null"
]
},
"stageRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"startedAt": {
"type": "string"
},
"lastSeenAt": {
"type": "string"
}
},
"required": [
"runId",
"keyId",
"columnId",
"stageRevision",
"startedAt",
"lastSeenAt"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"deduplicated": {
"type": "boolean",
"const": true
}
},
"required": [
"key",
"title",
"description",
"status",
"columnId",
"taskTypeId",
"responsible",
"assignment",
"stageRevision",
"deliveryMode",
"deliveryReason",
"priority",
"labels",
"assignee",
"product",
"site",
"pageUrl",
"plannedStart",
"dueDate",
"reviewAfter",
"estimate",
"goal",
"parent",
"cycle",
"cycleScopeProduct",
"checklist",
"subtasks",
"comments",
"linkList",
"queries",
"outcome",
"hypothesis",
"createdBy",
"createdAt",
"updatedAt",
"completedAt",
"archivedAt",
"workingAgent",
"activeRun"
],
"additionalProperties": false
},
"runId": {
"type": "string"
},
"replayed": {
"type": "boolean"
}
},
"required": [
"task",
"runId",
"replayed"
],
"additionalProperties": false
}Workflow
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"config": {
"type": "object",
"properties": {
"columns": {
"minItems": 5,
"maxItems": 16,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
"status": {
"type": "string",
"enum": [
"backlog",
"todo",
"in_progress",
"review",
"done"
]
},
"label": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 60
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"status",
"label"
],
"additionalProperties": false
}
},
"types": {
"maxItems": 24,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 60
}
},
"required": [
"id",
"label"
],
"additionalProperties": false
}
},
"primaryColumns": {
"type": "object",
"propertyNames": {
"type": "string",
"enum": [
"backlog",
"todo",
"in_progress",
"review",
"done"
]
},
"additionalProperties": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
"required": [
"backlog",
"todo",
"in_progress",
"review",
"done"
]
}
},
"required": [
"columns",
"types",
"primaryColumns"
],
"additionalProperties": false
},
"routing": {
"type": "object",
"properties": {
"defaultAssignee": {
"anyOf": [
{
"type": "object",
"properties": {
"userId": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
"keyId": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
{
"type": "null"
}
]
}
},
"required": [
"userId",
"keyId"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"rules": {
"maxItems": 64,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
"columnId": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
"taskTypeId": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
"assignee": {
"anyOf": [
{
"type": "object",
"properties": {
"userId": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
"keyId": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
{
"type": "null"
}
]
}
},
"required": [
"userId",
"keyId"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"assignee"
],
"additionalProperties": false
}
}
},
"required": [
"rules"
],
"additionalProperties": false
},
"version": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"updatedAt": {
"type": [
"string",
"null"
]
},
"author": {
"anyOf": [
{
"type": "object",
"properties": {
"userId": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": [
"string",
"null"
]
},
"avatarUrl": {
"type": [
"string",
"null"
]
},
"agent": {
"type": [
"string",
"null"
]
}
},
"required": [
"userId",
"name",
"email",
"avatarUrl",
"agent"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"reason": {
"type": [
"string",
"null"
]
},
"canManage": {
"type": "boolean"
},
"history": {
"type": "array",
"items": {
"type": "object",
"properties": {
"version": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"createdAt": {
"type": "string"
},
"author": {
"type": "object",
"properties": {
"userId": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": [
"string",
"null"
]
},
"avatarUrl": {
"type": [
"string",
"null"
]
},
"agent": {
"type": [
"string",
"null"
]
}
},
"required": [
"userId",
"name",
"email",
"avatarUrl",
"agent"
],
"additionalProperties": false
},
"via": {
"type": "string",
"enum": [
"web",
"agent"
]
},
"reason": {
"type": [
"string",
"null"
]
},
"inherit": {
"type": "boolean"
}
},
"required": [
"version",
"createdAt",
"author",
"via",
"reason"
],
"additionalProperties": false
}
},
"product": {
"type": [
"string",
"null"
]
},
"inherited": {
"type": "boolean"
},
"source": {
"type": "string",
"enum": [
"workspace",
"product"
]
},
"workflowVersion": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"teamVersion": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"config",
"version",
"updatedAt",
"author",
"reason",
"canManage",
"history"
],
"additionalProperties": false
}WorkflowSave
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"config": {
"type": "object",
"properties": {
"columns": {
"minItems": 5,
"maxItems": 16,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
"status": {
"type": "string",
"enum": [
"backlog",
"todo",
"in_progress",
"review",
"done"
]
},
"label": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 60
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"status",
"label"
],
"additionalProperties": false
}
},
"types": {
"maxItems": 24,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 60
}
},
"required": [
"id",
"label"
],
"additionalProperties": false
}
},
"primaryColumns": {
"type": "object",
"propertyNames": {
"type": "string",
"enum": [
"backlog",
"todo",
"in_progress",
"review",
"done"
]
},
"additionalProperties": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
"required": [
"backlog",
"todo",
"in_progress",
"review",
"done"
]
}
},
"required": [
"columns",
"types",
"primaryColumns"
],
"additionalProperties": false
},
"routing": {
"type": "object",
"properties": {
"defaultAssignee": {
"anyOf": [
{
"type": "object",
"properties": {
"userId": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
"keyId": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
{
"type": "null"
}
]
}
},
"required": [
"userId",
"keyId"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"rules": {
"maxItems": 64,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
"columnId": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
"taskTypeId": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
"assignee": {
"anyOf": [
{
"type": "object",
"properties": {
"userId": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
"keyId": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
{
"type": "null"
}
]
}
},
"required": [
"userId",
"keyId"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"assignee"
],
"additionalProperties": false
}
}
},
"required": [
"rules"
],
"additionalProperties": false
},
"product": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"inherit": {
"type": "boolean",
"const": true
},
"expectedVersion": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"expectedActor": {
"type": "object",
"properties": {
"userId": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"userId",
"workspaceId"
],
"additionalProperties": false
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"expectedVersion"
],
"additionalProperties": false
}TaskInput
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"expectedWorkflowVersion": {
"description": "Pass the workflowVersion from a transition preview to reject changed process rules before writing.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"expectedActor": {
"description": "Optional original user/workspace binding, not an identity to act as. A mismatch rejects the request with 403 before writes; key-bound clients may omit it.",
"type": "object",
"properties": {
"userId": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"userId",
"workspaceId"
],
"additionalProperties": false
},
"deliveryMode": {
"description": "deploy by default; no_deploy for results needing no deployment. An explicit decision requires deliveryReason.",
"type": "string",
"enum": [
"deploy",
"no_deploy"
]
},
"deliveryReason": {
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": {
"type": "string",
"maxLength": 20000
},
"priority": {
"type": "string",
"enum": [
"none",
"low",
"medium",
"high",
"urgent"
]
},
"labels": {
"maxItems": 8,
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{0,23}$"
}
},
"assignee": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"columnId": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
"taskTypeId": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
{
"type": "null"
}
]
},
"responsible": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"product": {
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
]
},
"site": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"pageUrl": {
"anyOf": [
{
"type": "string",
"maxLength": 2000,
"pattern": "^https?:[/][/][\\s\\S]*"
},
{
"type": "null"
}
]
},
"queries": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"plannedStart": {
"description": "Intended date-only start of work; null clears it. Never inferred from creation or actual execution timestamps. Must not follow dueDate when both dates exist.",
"anyOf": [
{
"type": "string",
"description": "Real calendar date YYYY-MM-DD, years 0001–9999; no time or timezone.",
"format": "date"
},
{
"type": "null"
}
]
},
"dueDate": {
"anyOf": [
{
"type": "string",
"description": "Real calendar date YYYY-MM-DD, years 0001–9999; no time or timezone.",
"format": "date"
},
{
"type": "null"
}
]
},
"reviewAfter": {
"anyOf": [
{
"type": "string",
"description": "Real calendar date YYYY-MM-DD, years 0001–9999; no time or timezone.",
"format": "date"
},
{
"type": "null"
}
]
},
"hypothesis": {
"anyOf": [
{
"type": "object",
"properties": {
"metric": {
"type": "string",
"minLength": 3,
"maxLength": 300
},
"direction": {
"type": "string",
"enum": [
"increase",
"decrease"
]
},
"minChange": {
"type": "number",
"minimum": 0.01,
"maximum": 10
}
},
"required": [
"metric",
"direction",
"minChange"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"goal": {
"description": "Product objective or key result id; null unlinks. An objective without a metric does not create a hypothesis or measurement.",
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
]
},
"parent": {
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
]
},
"cycle": {
"anyOf": [
{
"anyOf": [
{
"type": "string",
"enum": [
"current",
"next",
"previous"
]
},
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
]
},
{
"type": "null"
}
]
},
"cycleScopeProduct": {
"type": "string",
"maxLength": 200
},
"estimate": {
"anyOf": [
{
"type": "string",
"enum": [
"S",
"M",
"L"
]
},
{
"type": "null"
}
]
},
"agentBudget": {
"anyOf": [
{
"type": "object",
"properties": {
"amount": {
"type": "integer",
"minimum": 0,
"maximum": 1000000000000
},
"currency": {
"type": "string",
"enum": [
"RUB",
"USD",
"EUR",
"GBP"
]
}
},
"required": [
"amount",
"currency"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"links": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string",
"maxLength": 2000,
"pattern": "^https?:[/][/][\\s\\S]*"
},
"title": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
}
},
"required": [
"url"
],
"additionalProperties": false
}
},
"comment": {
"description": "Added with the change. An agent closing a task (status \"done\") must give the grounds here: who approved it, what was checked.",
"type": "string",
"minLength": 1,
"maxLength": 10000
},
"status": {
"type": "string",
"enum": [
"triage",
"backlog",
"todo",
"in_progress",
"review",
"done"
]
}
},
"required": [
"title"
],
"additionalProperties": false
}TaskUpdate
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"position": {
"description": "Place in the column: {before: key} or {after: key} of a card in the same (destination) column, or {to: \"top\"|\"bottom\"}. Without status it reorders the current column; the agent queue is «К работе» top down.",
"type": "object",
"properties": {
"before": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"after": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"to": {
"type": "string",
"enum": [
"top",
"bottom"
]
}
},
"additionalProperties": false
},
"expectedDelivery": {
"type": "object",
"properties": {
"deliveryMode": {
"type": "string",
"enum": [
"deploy",
"no_deploy"
]
},
"deliveryReason": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 2000
},
{
"type": "null"
}
]
}
},
"required": [
"deliveryMode",
"deliveryReason"
],
"additionalProperties": false
},
"expectedStageRevision": {
"description": "Read the task first and pass its stageRevision to reject a changed stage, executor, assignment source, task type, product or site context. Legacy omission remains unconditional.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"assignmentMode": {
"type": "string",
"const": "process"
},
"expectedAgentBudget": {
"anyOf": [
{
"type": "object",
"properties": {
"amount": {
"type": "integer",
"minimum": 0,
"maximum": 1000000000000
},
"currency": {
"type": "string",
"enum": [
"RUB",
"USD",
"EUR",
"GBP"
]
}
},
"required": [
"amount",
"currency"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"expectedDescription": {
"description": "Original description baseline. A mismatch rejects the entire update atomically with 409; omitted preserves last-writer behaviour.",
"type": "string",
"maxLength": 20000
},
"expectedDates": {
"description": "Both original nullable planning dates. A mismatch rejects the entire update atomically with 409; omitted preserves last-writer behaviour.",
"type": "object",
"properties": {
"plannedStart": {
"anyOf": [
{
"type": "string",
"description": "Real calendar date YYYY-MM-DD, years 0001–9999; no time or timezone.",
"format": "date"
},
{
"type": "null"
}
]
},
"dueDate": {
"anyOf": [
{
"type": "string",
"description": "Real calendar date YYYY-MM-DD, years 0001–9999; no time or timezone.",
"format": "date"
},
{
"type": "null"
}
]
}
},
"required": [
"plannedStart",
"dueDate"
],
"additionalProperties": false
},
"expectedWorkflowVersion": {
"description": "Pass the workflowVersion from a transition preview to reject changed process rules before writing.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"expectedActor": {
"description": "Optional original user/workspace binding, not an identity to act as. A mismatch rejects the request with 403 before writes; key-bound clients may omit it.",
"type": "object",
"properties": {
"userId": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"userId",
"workspaceId"
],
"additionalProperties": false
},
"deliveryMode": {
"description": "deploy by default; no_deploy for results needing no deployment. An explicit decision requires deliveryReason.",
"type": "string",
"enum": [
"deploy",
"no_deploy"
]
},
"deliveryReason": {
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": {
"type": "string",
"maxLength": 20000
},
"priority": {
"type": "string",
"enum": [
"none",
"low",
"medium",
"high",
"urgent"
]
},
"labels": {
"maxItems": 8,
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{0,23}$"
}
},
"assignee": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"columnId": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
"taskTypeId": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
{
"type": "null"
}
]
},
"responsible": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"product": {
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
]
},
"site": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"pageUrl": {
"anyOf": [
{
"type": "string",
"maxLength": 2000,
"pattern": "^https?:[/][/][\\s\\S]*"
},
{
"type": "null"
}
]
},
"queries": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"plannedStart": {
"description": "Intended date-only start of work; null clears it. Never inferred from creation or actual execution timestamps. Must not follow dueDate when both dates exist.",
"anyOf": [
{
"type": "string",
"description": "Real calendar date YYYY-MM-DD, years 0001–9999; no time or timezone.",
"format": "date"
},
{
"type": "null"
}
]
},
"dueDate": {
"anyOf": [
{
"type": "string",
"description": "Real calendar date YYYY-MM-DD, years 0001–9999; no time or timezone.",
"format": "date"
},
{
"type": "null"
}
]
},
"reviewAfter": {
"anyOf": [
{
"type": "string",
"description": "Real calendar date YYYY-MM-DD, years 0001–9999; no time or timezone.",
"format": "date"
},
{
"type": "null"
}
]
},
"hypothesis": {
"anyOf": [
{
"type": "object",
"properties": {
"metric": {
"type": "string",
"minLength": 3,
"maxLength": 300
},
"direction": {
"type": "string",
"enum": [
"increase",
"decrease"
]
},
"minChange": {
"type": "number",
"minimum": 0.01,
"maximum": 10
}
},
"required": [
"metric",
"direction",
"minChange"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"goal": {
"description": "Product objective or key result id; null unlinks. An objective without a metric does not create a hypothesis or measurement.",
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
]
},
"parent": {
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
]
},
"cycle": {
"anyOf": [
{
"anyOf": [
{
"type": "string",
"enum": [
"current",
"next",
"previous"
]
},
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
]
},
{
"type": "null"
}
]
},
"cycleScopeProduct": {
"type": "string",
"maxLength": 200
},
"estimate": {
"anyOf": [
{
"type": "string",
"enum": [
"S",
"M",
"L"
]
},
{
"type": "null"
}
]
},
"agentBudget": {
"anyOf": [
{
"type": "object",
"properties": {
"amount": {
"type": "integer",
"minimum": 0,
"maximum": 1000000000000
},
"currency": {
"type": "string",
"enum": [
"RUB",
"USD",
"EUR",
"GBP"
]
}
},
"required": [
"amount",
"currency"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"links": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string",
"maxLength": 2000,
"pattern": "^https?:[/][/][\\s\\S]*"
},
"title": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
}
},
"required": [
"url"
],
"additionalProperties": false
}
},
"comment": {
"description": "Added with the change. An agent closing a task (status \"done\") must give the grounds here: who approved it, what was checked.",
"type": "string",
"minLength": 1,
"maxLength": 10000
},
"status": {
"type": "string",
"enum": [
"triage",
"backlog",
"todo",
"in_progress",
"review",
"done"
]
},
"outcome": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"type": "null"
}
]
},
"archived": {
"type": "boolean"
}
},
"additionalProperties": false
}Task
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"key": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"triage",
"backlog",
"todo",
"in_progress",
"review",
"done"
]
},
"columnId": {
"type": [
"string",
"null"
]
},
"taskTypeId": {
"type": [
"string",
"null"
]
},
"responsible": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"name",
"email"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"assignment": {
"type": "object",
"properties": {
"source": {
"type": "string",
"enum": [
"manual",
"process",
"inherited"
]
},
"ruleId": {
"type": [
"string",
"null"
]
},
"ruleKind": {
"anyOf": [
{
"type": "string",
"enum": [
"type_column",
"column",
"type",
"default"
]
},
{
"type": "null"
}
]
},
"workflowVersion": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"source",
"ruleId",
"ruleKind",
"workflowVersion"
],
"additionalProperties": false
},
"stageRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"deliveryMode": {
"type": "string",
"enum": [
"deploy",
"no_deploy"
]
},
"deliveryReason": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 2000
},
{
"type": "null"
}
]
},
"priority": {
"type": "string",
"enum": [
"none",
"low",
"medium",
"high",
"urgent"
]
},
"labels": {
"type": "array",
"items": {
"type": "string"
}
},
"assignee": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": [
"string",
"null"
]
},
"agent": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"name",
"email",
"agent"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"product": {
"type": [
"string",
"null"
]
},
"site": {
"type": [
"string",
"null"
]
},
"pageUrl": {
"type": [
"string",
"null"
]
},
"plannedStart": {
"type": [
"string",
"null"
]
},
"dueDate": {
"type": [
"string",
"null"
]
},
"reviewAfter": {
"type": [
"string",
"null"
]
},
"estimate": {
"anyOf": [
{
"type": "string",
"enum": [
"S",
"M",
"L"
]
},
{
"type": "null"
}
]
},
"goal": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"id",
"title"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"parent": {
"anyOf": [
{
"type": "object",
"properties": {
"key": {
"type": [
"string",
"null"
]
},
"title": {
"type": "string"
}
},
"required": [
"key",
"title"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"cycle": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"cycleScopeProduct": {
"type": [
"string",
"null"
]
},
"checklist": {
"anyOf": [
{
"type": "object",
"properties": {
"done": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"total": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"done",
"total"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"subtasks": {
"anyOf": [
{
"type": "object",
"properties": {
"done": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"total": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"done",
"total"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"comments": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"linkList": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"title": {
"type": [
"string",
"null"
]
}
},
"required": [
"url",
"title"
],
"additionalProperties": false
}
},
"queries": {
"type": "array",
"items": {
"type": "string"
}
},
"outcome": {
"type": [
"string",
"null"
]
},
"hypothesis": {
"anyOf": [
{
"type": "object",
"properties": {
"metric": {
"type": "string",
"minLength": 3,
"maxLength": 300
},
"direction": {
"type": "string",
"enum": [
"increase",
"decrease"
]
},
"minChange": {
"type": "number",
"minimum": 0.01,
"maximum": 10
}
},
"required": [
"metric",
"direction",
"minChange"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"createdBy": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"agent": {
"type": "string"
}
},
"required": [
"name"
],
"additionalProperties": false
},
"createdAt": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"completedAt": {
"type": [
"string",
"null"
]
},
"archivedAt": {
"type": [
"string",
"null"
]
},
"workingAgent": {
"type": [
"string",
"null"
]
},
"activeRun": {
"anyOf": [
{
"type": "object",
"properties": {
"runId": {
"type": "string"
},
"keyId": {
"type": "string"
},
"columnId": {
"type": [
"string",
"null"
]
},
"stageRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"startedAt": {
"type": "string"
},
"lastSeenAt": {
"type": "string"
}
},
"required": [
"runId",
"keyId",
"columnId",
"stageRevision",
"startedAt",
"lastSeenAt"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"deduplicated": {
"type": "boolean",
"const": true
}
},
"required": [
"key",
"title",
"description",
"status",
"columnId",
"taskTypeId",
"responsible",
"assignment",
"stageRevision",
"deliveryMode",
"deliveryReason",
"priority",
"labels",
"assignee",
"product",
"site",
"pageUrl",
"plannedStart",
"dueDate",
"reviewAfter",
"estimate",
"goal",
"parent",
"cycle",
"cycleScopeProduct",
"checklist",
"subtasks",
"comments",
"linkList",
"queries",
"outcome",
"hypothesis",
"createdBy",
"createdAt",
"updatedAt",
"completedAt",
"archivedAt",
"workingAgent",
"activeRun"
],
"additionalProperties": false
}MetricQuery
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"ref": {
"type": "string",
"minLength": 3,
"maxLength": 300
},
"from": {
"type": "string",
"format": "date",
"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])))$"
},
"to": {
"type": "string",
"format": "date",
"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])))$"
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 730
},
"granularity": {
"type": "string",
"enum": [
"day",
"week"
]
},
"compare": {
"type": "boolean"
},
"product": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"ref",
"product"
],
"additionalProperties": false
}MetricSeries
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"ref": {
"type": "string"
},
"label": {
"type": "string"
},
"definition": {
"type": "string"
},
"sourceName": {
"type": "string"
},
"caveats": {
"type": "array",
"items": {
"type": "string"
}
},
"kind": {
"type": "string"
},
"lowerIsBetter": {
"type": "boolean"
},
"unit": {
"type": "string",
"const": "currency"
},
"currency": {
"type": "string"
},
"amounts": {
"type": "string",
"enum": [
"major",
"minor"
]
},
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"granularity": {
"type": "string",
"enum": [
"day",
"week"
]
},
"points": {
"maxItems": 730,
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string"
},
"value": {
"type": [
"number",
"null"
]
}
},
"required": [
"date",
"value"
],
"additionalProperties": false
}
},
"total": {
"type": [
"number",
"null"
]
},
"previous": {
"anyOf": [
{
"type": "object",
"properties": {
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"total": {
"type": [
"number",
"null"
]
},
"points": {
"maxItems": 730,
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string"
},
"value": {
"type": [
"number",
"null"
]
}
},
"required": [
"date",
"value"
],
"additionalProperties": false
}
}
},
"required": [
"from",
"to",
"total",
"points"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"dataThrough": {
"type": [
"string",
"null"
]
},
"band": {
"anyOf": [
{
"type": "object",
"properties": {
"low": {
"type": "number"
},
"high": {
"type": "number"
},
"weeks": {
"type": "number"
},
"latest": {
"type": "object",
"properties": {
"week": {
"type": "string"
},
"start": {
"type": "string"
},
"value": {
"type": [
"number",
"null"
]
}
},
"required": [
"week",
"start",
"value"
],
"additionalProperties": false
},
"outside": {
"type": "boolean"
}
},
"required": [
"low",
"high",
"weeks",
"latest",
"outside"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"note": {
"type": "string"
}
},
"required": [
"ref",
"label",
"definition",
"sourceName",
"caveats",
"kind",
"lowerIsBetter",
"from",
"to",
"granularity",
"points",
"total",
"previous",
"dataThrough"
],
"additionalProperties": false
}Problem
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"code": {
"type": "string",
"enum": [
"unauthorized",
"forbidden",
"not_found",
"invalid_request",
"conflict",
"invalid_json",
"unsupported_media_type",
"payload_too_large",
"rate_limited",
"quota_exceeded",
"internal_error"
]
},
"message": {
"type": "string"
},
"hint": {
"type": [
"string",
"null"
]
}
},
"required": [
"code",
"message",
"hint"
],
"additionalProperties": false
}Für den vollständigen Arbeitsablauf des Agenten verwenden Sie MCP.