{"openapi":"3.0.3","info":{"title":"WorkThroughLine API","version":"2026-07-13","description":"REST API for WorkThroughLine. Authenticate with a per-organization API key (`x-api-key` header). All requests are scoped to that organization. Rate limit: 100 requests/minute per client. Errors are JSON `{ error, message }`."},"servers":[{"url":"https://app.workthroughline.com/api/v1"}],"security":[{"ApiKeyAuth":[]}],"tags":[{"name":"Strategy","description":"Goals and OKRs"},{"name":"Discovery","description":"Opportunities, solutions, experiments"},{"name":"Delivery","description":"Work items and sprints"},{"name":"Intake","description":"Stakeholder intake submissions"},{"name":"Webhooks","description":"Outbound event subscriptions"}],"paths":{"/ckrs":{"get":{"tags":["Strategy"],"summary":"List OKRs","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CkrResponse"}}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"post":{"tags":["Strategy"],"summary":"Create an OKR","responses":{"200":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CkrResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCkrRequest"}}}}}},"/ckrs/{id}":{"get":{"tags":["Strategy"],"summary":"Get an OKR","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CkrResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Entity id or human key (e.g. WI-42)."}]}},"/opportunities":{"get":{"tags":["Discovery"],"summary":"List opportunities","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OpportunityResponse"}}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"post":{"tags":["Discovery"],"summary":"Create an opportunity","responses":{"200":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpportunityResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOpportunityRequest"}}}}}},"/solutions":{"get":{"tags":["Discovery"],"summary":"List solutions","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SolutionResponse"}}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"post":{"tags":["Discovery"],"summary":"Create a solution","responses":{"200":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SolutionResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSolutionRequest"}}}}}},"/experiments":{"get":{"tags":["Discovery"],"summary":"List experiments","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ExperimentResponse"}}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"post":{"tags":["Discovery"],"summary":"Create an experiment","responses":{"200":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExperimentResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateExperimentRequest"}}}}}},"/experiments/{id}/conclude":{"post":{"tags":["Discovery"],"summary":"Conclude an experiment","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExperimentResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Entity id or human key (e.g. WI-42)."}]}},"/work-items":{"get":{"tags":["Delivery"],"summary":"List work items","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkItemResponse"}}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"post":{"tags":["Delivery"],"summary":"Create a work item","responses":{"200":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkItemResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWorkItemRequest"}}}}}},"/work-items/{id}":{"get":{"tags":["Delivery"],"summary":"Get a work item","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkItemResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Entity id or human key (e.g. WI-42)."}]},"patch":{"tags":["Delivery"],"summary":"Update a work item","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkItemResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWorkItemRequest"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Entity id or human key (e.g. WI-42)."}]}},"/work-items/{id}/relations":{"get":{"tags":["Delivery"],"summary":"List work-item links","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkItemRelationsResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Entity id or human key (e.g. WI-42)."}]},"post":{"tags":["Delivery"],"summary":"Link two work items","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkItemRelationsResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddWorkItemRelationRequest"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Entity id or human key (e.g. WI-42)."}]}},"/work-items/{id}/relations/{relationId}":{"delete":{"tags":["Delivery"],"summary":"Remove a work-item link","responses":{"200":{"description":"Deleted (no content)"},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Entity id or human key (e.g. WI-42)."},{"name":"relationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}]}},"/sprints":{"get":{"tags":["Delivery"],"summary":"List sprints","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SprintResponse"}}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/intake":{"get":{"tags":["Intake"],"summary":"List intake submissions","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IntakeSubmissionResponse"}}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"post":{"tags":["Intake"],"summary":"Create an intake submission","responses":{"200":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntakeSubmissionResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateIntakeRequest"}}}}}},"/webhooks":{"get":{"tags":["Webhooks"],"summary":"List webhooks","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WebhookResponse"}}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"post":{"tags":["Webhooks"],"summary":"Create a webhook","responses":{"200":{"description":"Created (secret returned once)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedWebhookResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebhookRequest"}}}}}},"/webhooks/{id}":{"patch":{"tags":["Webhooks"],"summary":"Update a webhook","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWebhookRequest"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Entity id or human key (e.g. WI-42)."}]},"delete":{"tags":["Webhooks"],"summary":"Delete a webhook","responses":{"200":{"description":"Deleted (no content)"},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Entity id or human key (e.g. WI-42)."}]}},"/webhooks/{id}/test":{"post":{"tags":["Webhooks"],"summary":"Send a test ping","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookDeliveryResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Entity id or human key (e.g. WI-42)."}]}},"/webhooks/deliveries":{"get":{"tags":["Webhooks"],"summary":"List webhook deliveries","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/WebhookDeliveryResponse"}},"nextCursor":{"type":"string","nullable":true}}}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"parameters":[{"name":"webhookId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":25}}]}},"/webhooks/deliveries/{id}/redeliver":{"post":{"tags":["Webhooks"],"summary":"Re-queue a delivery","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookDeliveryResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Entity id or human key (e.g. WI-42)."}]}}},"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"Per-organization API key, created in Settings → API keys. Format: `pos_sk_…`."}},"schemas":{"ApiError":{"type":"object","properties":{"error":{"type":"string","example":"BadRequest"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}},"required":["error","message"]},"CkrResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"key":{"type":"string"},"annualGoalId":{"type":"string","format":"uuid"},"productGoalId":{"type":"string","format":"uuid","nullable":true},"planningCycleIds":{"type":"array","items":{"type":"string","format":"uuid"}},"ownerId":{"type":"string","format":"uuid","nullable":true},"title":{"type":"string"},"description":{"type":"string","nullable":true},"confidence":{"type":"integer"},"status":{"type":"string","enum":["DRAFT","ACTIVE","AT_RISK","ACHIEVED","MISSED","ARCHIVED"]},"keyResults":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"metric":{"type":"string","nullable":true},"targetValue":{"type":"number","nullable":true},"currentValue":{"type":"number","nullable":true},"unit":{"type":"string","nullable":true},"status":{"type":"string","enum":["ON_TRACK","AT_RISK","OFF_TRACK","ACHIEVED"]}},"required":["id","title","metric","targetValue","currentValue","unit","status"]}},"createdAt":{"type":"string"}},"required":["id","key","annualGoalId","productGoalId","planningCycleIds","ownerId","title","description","confidence","status","keyResults","createdAt"]},"CreateCkrRequest":{"type":"object","properties":{"annualGoalId":{"type":"string","format":"uuid"},"productGoalId":{"type":"string","format":"uuid"},"planningCycleIds":{"type":"array","items":{"type":"string","format":"uuid"},"minItems":1},"title":{"type":"string","minLength":2,"maxLength":200},"description":{"type":"string","maxLength":5000},"ownerId":{"type":"string","format":"uuid"},"confidence":{"type":"integer","minimum":1,"maximum":5,"default":3},"keyResults":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","minLength":2,"maxLength":200},"metric":{"type":"string","maxLength":120},"targetValue":{"type":"number"},"currentValue":{"type":"number"},"unit":{"type":"string","maxLength":40}},"required":["title"]}}},"required":["annualGoalId","planningCycleIds","title"]},"OpportunityResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"key":{"type":"string"},"ckrId":{"type":"string","format":"uuid"},"title":{"type":"string"},"description":{"type":"string","nullable":true},"priority":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"impact":{"type":"integer"},"confidence":{"type":"integer"},"reach":{"type":"integer","nullable":true},"effort":{"type":"integer","nullable":true},"score":{"type":"number","nullable":true},"riceScore":{"type":"number","nullable":true},"status":{"type":"string","enum":["NEW","EXPLORING","VALIDATED","DISCARDED","PROMOTED"]},"ownerId":{"type":"string","format":"uuid","nullable":true},"isMirror":{"type":"boolean"},"insightIds":{"type":"array","items":{"type":"string","format":"uuid"}},"createdAt":{"type":"string"}},"required":["id","key","ckrId","title","description","priority","impact","confidence","reach","effort","score","riceScore","status","ownerId","isMirror","insightIds","createdAt"]},"CreateOpportunityRequest":{"type":"object","properties":{"ckrId":{"type":"string","format":"uuid"},"title":{"type":"string","minLength":2,"maxLength":200},"description":{"type":"string"},"priority":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"],"default":"MEDIUM"},"impact":{"type":"integer","minimum":1,"maximum":5,"default":3},"confidence":{"type":"integer","minimum":1,"maximum":5,"default":3},"reach":{"type":"integer","minimum":0},"effort":{"type":"integer","minimum":1},"ownerId":{"type":"string","format":"uuid"},"insightIds":{"type":"array","items":{"type":"string","format":"uuid"}}},"required":["ckrId","title"]},"SolutionResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"opportunityId":{"type":"string","format":"uuid"},"title":{"type":"string"},"description":{"type":"string","nullable":true},"impact":{"type":"integer"},"effort":{"type":"integer"},"confidence":{"type":"integer"},"status":{"type":"string","enum":["PROPOSED","SELECTED","EXPERIMENTING","VALIDATED","REJECTED"]}},"required":["id","opportunityId","title","description","impact","effort","confidence","status"]},"CreateSolutionRequest":{"type":"object","properties":{"title":{"type":"string","minLength":2,"maxLength":200},"description":{"type":"string","nullable":true},"impact":{"type":"integer","minimum":1,"maximum":5,"default":3},"effort":{"type":"integer","minimum":1,"maximum":5,"default":3},"confidence":{"type":"integer","minimum":1,"maximum":5,"default":3}},"required":["title"]},"ExperimentResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"key":{"type":"string"},"ckrId":{"type":"string","format":"uuid"},"solutionId":{"type":"string","format":"uuid","nullable":true},"title":{"type":"string"},"hypothesis":{"type":"string","nullable":true},"successMetrics":{"type":"array","items":{"type":"string"}},"result":{"type":"string","nullable":true},"status":{"type":"string","enum":["DRAFT","RUNNING","SUCCEEDED","FAILED","INCONCLUSIVE"]},"createdAt":{"type":"string"}},"required":["id","key","ckrId","solutionId","title","hypothesis","successMetrics","result","status","createdAt"]},"CreateExperimentRequest":{"type":"object","properties":{"ckrId":{"type":"string","format":"uuid"},"solutionId":{"type":"string","format":"uuid"},"title":{"type":"string","minLength":2,"maxLength":200},"hypothesis":{"type":"string"},"successMetrics":{"type":"array","items":{"type":"string"},"default":[]}},"required":["ckrId","title"]},"WorkItemResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"key":{"type":"string"},"title":{"type":"string"},"description":{"type":"string","nullable":true},"type":{"type":"string","enum":["FEATURE","EPIC","STORY","TASK","BUG","SPIKE","IMPROVEMENT"]},"status":{"type":"string","enum":["BACKLOG","TODO","IN_PROGRESS","IN_REVIEW","TESTING_LOCAL","DEPLOY","TESTING_LIVE","DONE","CANCELLED"]},"priority":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"adHoc":{"type":"boolean"},"carryOverCount":{"type":"integer"},"estimate":{"type":"integer","nullable":true},"storyPoints":{"type":"integer","nullable":true},"dueDate":{"type":"string","nullable":true},"ckrId":{"type":"string","format":"uuid","nullable":true},"opportunityId":{"type":"string","format":"uuid","nullable":true},"solutionId":{"type":"string","format":"uuid","nullable":true},"maintenanceCategory":{"type":"string","enum":["BUG","SUPPORT","HOTFIX","SMALL_IMPROVEMENT"],"nullable":true},"discipline":{"type":"string","enum":["BACKEND","FRONTEND","FULLSTACK"],"nullable":true},"classification":{"type":"string","enum":["ckr","maintenance","unclassified"]},"parentId":{"type":"string","format":"uuid","nullable":true},"sprintId":{"type":"string","format":"uuid","nullable":true},"assigneeId":{"type":"string","format":"uuid","nullable":true},"reporterId":{"type":"string","format":"uuid","nullable":true},"reporterSource":{"type":"string","enum":["SALES","CUSTOMER_SUPPORT","MARKETING","PRODUCT","ENGINEERING","OTHER"],"nullable":true},"productManagerId":{"type":"string","format":"uuid","nullable":true},"experimentKind":{"type":"string","enum":["TEST","FEATURE"],"nullable":true},"experimentId":{"type":"string","format":"uuid","nullable":true},"labels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"color":{"type":"string"}},"required":["id","name","color"]}},"blockedByCount":{"type":"integer"},"isBlocked":{"type":"boolean"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","key","title","description","type","status","priority","adHoc","carryOverCount","estimate","storyPoints","dueDate","ckrId","opportunityId","solutionId","maintenanceCategory","discipline","classification","parentId","sprintId","assigneeId","reporterId","reporterSource","productManagerId","experimentKind","experimentId","labels","blockedByCount","isBlocked","createdAt","updatedAt"]},"CreateWorkItemRequest":{"type":"object","properties":{"title":{"type":"string","minLength":2,"maxLength":200},"description":{"type":"string"},"type":{"type":"string","enum":["FEATURE","EPIC","STORY","TASK","BUG","SPIKE","IMPROVEMENT"]},"priority":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"],"default":"MEDIUM"},"status":{"type":"string","enum":["BACKLOG","TODO","IN_PROGRESS","IN_REVIEW","TESTING_LOCAL","DEPLOY","TESTING_LIVE","DONE","CANCELLED"]},"adHoc":{"type":"boolean"},"estimate":{"type":"integer","minimum":0},"storyPoints":{"type":"integer","minimum":0},"dueDate":{"type":"string"},"parentId":{"type":"string","format":"uuid"},"sprintId":{"type":"string","format":"uuid"},"assigneeId":{"type":"string","format":"uuid"},"reporterId":{"type":"string","format":"uuid"},"reporterSource":{"type":"string","enum":["SALES","CUSTOMER_SUPPORT","MARKETING","PRODUCT","ENGINEERING","OTHER"]},"productManagerId":{"type":"string","format":"uuid"},"experimentKind":{"type":"string","enum":["TEST","FEATURE"]},"experimentId":{"type":"string","format":"uuid"},"ckrId":{"type":"string","format":"uuid"},"opportunityId":{"type":"string","format":"uuid"},"solutionId":{"type":"string","format":"uuid"},"maintenanceCategory":{"type":"string","enum":["BUG","SUPPORT","HOTFIX","SMALL_IMPROVEMENT"]},"discipline":{"type":"string","enum":["BACKEND","FRONTEND","FULLSTACK"]},"labelIds":{"type":"array","items":{"type":"string","format":"uuid"},"maxItems":50},"mentionedUserIds":{"type":"array","items":{"type":"string","format":"uuid"},"maxItems":50}},"required":["title","type"]},"UpdateWorkItemRequest":{"type":"object","properties":{"title":{"type":"string","minLength":2,"maxLength":200},"description":{"type":"string","nullable":true},"type":{"type":"string","enum":["FEATURE","EPIC","STORY","TASK","BUG","SPIKE","IMPROVEMENT"]},"priority":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"status":{"type":"string","enum":["BACKLOG","TODO","IN_PROGRESS","IN_REVIEW","TESTING_LOCAL","DEPLOY","TESTING_LIVE","DONE","CANCELLED"]},"adHoc":{"type":"boolean"},"estimate":{"type":"integer","minimum":0,"nullable":true},"storyPoints":{"type":"integer","minimum":0,"nullable":true},"dueDate":{"type":"string","nullable":true},"parentId":{"type":"string","format":"uuid","nullable":true},"sprintId":{"type":"string","format":"uuid","nullable":true},"assigneeId":{"type":"string","format":"uuid","nullable":true},"reporterId":{"type":"string","format":"uuid","nullable":true},"reporterSource":{"type":"string","enum":["SALES","CUSTOMER_SUPPORT","MARKETING","PRODUCT","ENGINEERING","OTHER"],"nullable":true},"productManagerId":{"type":"string","format":"uuid","nullable":true},"experimentKind":{"type":"string","enum":["TEST","FEATURE"],"nullable":true},"ckrId":{"type":"string","format":"uuid","nullable":true},"experimentId":{"type":"string","format":"uuid","nullable":true},"opportunityId":{"type":"string","format":"uuid","nullable":true},"solutionId":{"type":"string","format":"uuid","nullable":true},"maintenanceCategory":{"type":"string","enum":["BUG","SUPPORT","HOTFIX","SMALL_IMPROVEMENT"],"nullable":true},"discipline":{"type":"string","enum":["BACKEND","FRONTEND","FULLSTACK"],"nullable":true},"labelIds":{"type":"array","items":{"type":"string","format":"uuid"},"maxItems":50},"mentionedUserIds":{"type":"array","items":{"type":"string","format":"uuid"},"maxItems":50}}},"WorkItemRelationsResponse":{"type":"object","properties":{"blocks":{"type":"array","items":{"type":"object","properties":{"relationId":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"key":{"type":"string"},"title":{"type":"string"},"status":{"type":"string","enum":["BACKLOG","TODO","IN_PROGRESS","IN_REVIEW","TESTING_LOCAL","DEPLOY","TESTING_LIVE","DONE","CANCELLED"]},"assigneeId":{"type":"string","format":"uuid","nullable":true}},"required":["relationId","id","key","title","status","assigneeId"]}},"blockedBy":{"type":"array","items":{"type":"object","properties":{"relationId":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"key":{"type":"string"},"title":{"type":"string"},"status":{"type":"string","enum":["BACKLOG","TODO","IN_PROGRESS","IN_REVIEW","TESTING_LOCAL","DEPLOY","TESTING_LIVE","DONE","CANCELLED"]},"assigneeId":{"type":"string","format":"uuid","nullable":true}},"required":["relationId","id","key","title","status","assigneeId"]}},"relatesTo":{"type":"array","items":{"type":"object","properties":{"relationId":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"key":{"type":"string"},"title":{"type":"string"},"status":{"type":"string","enum":["BACKLOG","TODO","IN_PROGRESS","IN_REVIEW","TESTING_LOCAL","DEPLOY","TESTING_LIVE","DONE","CANCELLED"]},"assigneeId":{"type":"string","format":"uuid","nullable":true}},"required":["relationId","id","key","title","status","assigneeId"]}},"duplicates":{"type":"array","items":{"type":"object","properties":{"relationId":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"key":{"type":"string"},"title":{"type":"string"},"status":{"type":"string","enum":["BACKLOG","TODO","IN_PROGRESS","IN_REVIEW","TESTING_LOCAL","DEPLOY","TESTING_LIVE","DONE","CANCELLED"]},"assigneeId":{"type":"string","format":"uuid","nullable":true}},"required":["relationId","id","key","title","status","assigneeId"]}},"duplicatedBy":{"type":"array","items":{"type":"object","properties":{"relationId":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"key":{"type":"string"},"title":{"type":"string"},"status":{"type":"string","enum":["BACKLOG","TODO","IN_PROGRESS","IN_REVIEW","TESTING_LOCAL","DEPLOY","TESTING_LIVE","DONE","CANCELLED"]},"assigneeId":{"type":"string","format":"uuid","nullable":true}},"required":["relationId","id","key","title","status","assigneeId"]}}},"required":["blocks","blockedBy","relatesTo","duplicates","duplicatedBy"]},"AddWorkItemRelationRequest":{"type":"object","properties":{"type":{"type":"string","enum":["blocks","blocked_by","relates_to","duplicates","duplicated_by"]},"targetId":{"type":"string","format":"uuid"}},"required":["type","targetId"]},"SprintResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"goal":{"type":"string","nullable":true},"startDate":{"type":"string"},"endDate":{"type":"string"},"status":{"type":"string","enum":["PLANNED","ACTIVE","COMPLETED"]},"teamId":{"type":"string","format":"uuid","nullable":true}},"required":["id","name","goal","startDate","endDate","status","teamId"]},"IntakeSubmissionResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"kind":{"type":"string","enum":["BUG","IMPROVEMENT"]},"title":{"type":"string"},"description":{"type":"string","nullable":true},"source":{"type":"string","enum":["SALES","CUSTOMER_SUPPORT","MARKETING","PRODUCT","ENGINEERING","OTHER"],"nullable":true},"stage":{"type":"string","enum":["SUBMITTED","IN_PREPARATION","IN_PROGRESS","DONE"]},"submittedById":{"type":"string","format":"uuid","nullable":true},"assigneeId":{"type":"string","format":"uuid","nullable":true},"workItemId":{"type":"string","format":"uuid","nullable":true},"workItemKey":{"type":"string","nullable":true},"workItemStatus":{"type":"string","enum":["BACKLOG","TODO","IN_PROGRESS","IN_REVIEW","TESTING_LOCAL","DEPLOY","TESTING_LIVE","DONE","CANCELLED"],"nullable":true},"opportunityId":{"type":"string","format":"uuid","nullable":true},"opportunityKey":{"type":"string","nullable":true},"viaPortal":{"type":"boolean"},"isPublic":{"type":"boolean"},"votes":{"type":"integer"},"submitterName":{"type":"string","nullable":true},"submitterEmail":{"type":"string","nullable":true},"completedAt":{"type":"string","nullable":true},"watcherIds":{"type":"array","items":{"type":"string","format":"uuid"}},"createdAt":{"type":"string"}},"required":["id","kind","title","description","source","stage","submittedById","assigneeId","workItemId","workItemKey","workItemStatus","opportunityId","opportunityKey","viaPortal","isPublic","votes","submitterName","submitterEmail","completedAt","watcherIds","createdAt"]},"CreateIntakeRequest":{"type":"object","properties":{"kind":{"type":"string","enum":["BUG","IMPROVEMENT"]},"title":{"type":"string","minLength":3,"maxLength":200},"description":{"type":"string","maxLength":900000},"source":{"type":"string","enum":["SALES","CUSTOMER_SUPPORT","MARKETING","PRODUCT","ENGINEERING","OTHER"]},"assigneeId":{"type":"string","format":"uuid"},"watcherIds":{"type":"array","items":{"type":"string","format":"uuid"},"maxItems":20}},"required":["kind","title"]},"WebhookResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"url":{"type":"string"},"description":{"type":"string","nullable":true},"active":{"type":"boolean"},"events":{"type":"array","items":{"type":"string","enum":["work_item.created","work_item.updated","work_item.status_changed","ckr.created","ckr.updated","opportunity.created","experiment.concluded","intake.created","changelog.published"]}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","url","description","active","events","createdAt","updatedAt"]},"CreatedWebhookResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"url":{"type":"string"},"description":{"type":"string","nullable":true},"active":{"type":"boolean"},"events":{"type":"array","items":{"type":"string","enum":["work_item.created","work_item.updated","work_item.status_changed","ckr.created","ckr.updated","opportunity.created","experiment.concluded","intake.created","changelog.published"]}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"secret":{"type":"string"}},"required":["id","url","description","active","events","createdAt","updatedAt","secret"]},"CreateWebhookRequest":{"type":"object","properties":{"url":{"type":"string","format":"uri","maxLength":2048},"events":{"type":"array","items":{"type":"string","enum":["work_item.created","work_item.updated","work_item.status_changed","ckr.created","ckr.updated","opportunity.created","experiment.concluded","intake.created","changelog.published"]},"minItems":1,"maxItems":9},"description":{"type":"string","maxLength":200}},"required":["url","events"]},"UpdateWebhookRequest":{"type":"object","properties":{"url":{"type":"string","format":"uri","maxLength":2048},"events":{"type":"array","items":{"type":"string","enum":["work_item.created","work_item.updated","work_item.status_changed","ckr.created","ckr.updated","opportunity.created","experiment.concluded","intake.created","changelog.published"]},"minItems":1,"maxItems":9},"description":{"type":"string","maxLength":200,"nullable":true},"active":{"type":"boolean"}}},"WebhookDeliveryResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"webhookId":{"type":"string","format":"uuid"},"eventType":{"type":"string"},"status":{"type":"string","enum":["PENDING","DELIVERED","FAILED"]},"statusCode":{"type":"integer","nullable":true},"attempts":{"type":"integer"},"nextAttemptAt":{"type":"string","nullable":true},"deliveredAt":{"type":"string","nullable":true},"error":{"type":"string","nullable":true},"createdAt":{"type":"string"}},"required":["id","webhookId","eventType","status","statusCode","attempts","nextAttemptAt","deliveredAt","error","createdAt"]},"WebhookPayload":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"event":{"type":"string"},"apiVersion":{"type":"string"},"createdAt":{"type":"string"},"organizationId":{"type":"string","format":"uuid"},"data":{"type":"object","additionalProperties":true}},"required":["id","event","apiVersion","createdAt","organizationId","data"]}}}}