openapi: 3.2.0 info: title: Airia Web Governance Instances API version: 1.0.0 servers: - url: https://api.airia.ai tags: - name: GovernanceInstances paths: /v1/governance/instances: post: tags: - GovernanceInstances operationId: GovernanceInstances_StartWorkflow2 parameters: - name: x-correlation-id in: header schema: type: string requestBody: x-name: request content: application/json: schema: $ref: '#/components/schemas/StartWorkflowRequest' required: true x-position: 1 responses: 201: description: '' content: application/json: schema: $ref: '#/components/schemas/WorkflowInstanceDetailDto' 400: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 404: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 409: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 500: description: '' summary: Governance instances start workflow2 x-summary-source: derived get: tags: - GovernanceInstances operationId: GovernanceInstances_GetInstances2 parameters: - name: PageNumber in: query schema: type: integer format: int32 x-position: 1 - name: PageSize in: query schema: type: integer format: int32 x-position: 2 - name: SortBy in: query schema: type: - string - 'null' x-position: 3 - name: SortDirection in: query schema: type: string x-position: 4 - name: filter in: query schema: type: - string - 'null' x-position: 5 - name: x-correlation-id in: header schema: type: string responses: 200: description: '' content: application/json: schema: $ref: '#/components/schemas/PagedResultOfWorkflowInstanceDto' 500: description: '' summary: Governance instances get instances2 x-summary-source: derived /v1/governance/instances/{id}: get: tags: - GovernanceInstances operationId: GovernanceInstances_GetInstance2 parameters: - name: id in: path required: true schema: type: string format: guid x-position: 1 - name: x-correlation-id in: header schema: type: string responses: 200: description: '' content: application/json: schema: $ref: '#/components/schemas/WorkflowInstanceDetailDto' 404: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 500: description: '' summary: Governance instances get instance2 x-summary-source: derived /v1/governance/instances/by-usecase/{useCaseId}: get: tags: - GovernanceInstances operationId: GovernanceInstances_GetActiveInstanceByUseCaseId2 parameters: - name: useCaseId in: path required: true schema: type: string format: guid x-position: 1 - name: x-correlation-id in: header schema: type: string responses: 200: description: '' content: application/json: schema: $ref: '#/components/schemas/WorkflowInstanceDetailDto' 204: description: '' 500: description: '' summary: Governance instances get active instance by use case id2 x-summary-source: derived /v1/governance/instances/by-usecase/{useCaseId}/progression: get: tags: - GovernanceInstances operationId: GovernanceInstances_GetProgressionByUseCaseId2 parameters: - name: useCaseId in: path required: true schema: type: string format: guid x-position: 1 - name: x-correlation-id in: header schema: type: string responses: 200: description: '' content: application/json: schema: $ref: '#/components/schemas/StageProgressionDto' 204: description: '' 500: description: '' summary: Governance instances get progression by use case id2 x-summary-source: derived /v1/governance/instances/progression: get: tags: - GovernanceInstances operationId: GovernanceInstances_GetProgressions2 parameters: - name: useCaseIds in: query schema: type: - string - 'null' x-position: 1 - name: x-correlation-id in: header schema: type: string responses: 200: description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/StageProgressionDto' 400: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 500: description: '' summary: Governance instances get progressions2 x-summary-source: derived /v1/governance/instances/{id}/advance: post: tags: - GovernanceInstances operationId: GovernanceInstances_AdvanceStage2 parameters: - name: id in: path required: true schema: type: string format: guid x-position: 1 - name: stageInstanceId in: query schema: type: - string - 'null' format: guid x-position: 2 - name: x-correlation-id in: header schema: type: string responses: 200: description: '' 404: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 409: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 500: description: '' summary: Governance instances advance stage2 x-summary-source: derived /v1/governance/instances/{id}/suspend: post: tags: - GovernanceInstances operationId: GovernanceInstances_SuspendWorkflow2 parameters: - name: id in: path required: true schema: type: string format: guid x-position: 1 - name: x-correlation-id in: header schema: type: string requestBody: x-name: request content: application/json: schema: $ref: '#/components/schemas/WorkflowLifecycleActionRequest' x-position: 2 responses: 200: description: '' 400: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 404: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 409: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 500: description: '' summary: Governance instances suspend workflow2 x-summary-source: derived /v1/governance/instances/{id}/resume: post: tags: - GovernanceInstances operationId: GovernanceInstances_ResumeWorkflow2 parameters: - name: id in: path required: true schema: type: string format: guid x-position: 1 - name: x-correlation-id in: header schema: type: string requestBody: x-name: request content: application/json: schema: $ref: '#/components/schemas/WorkflowLifecycleActionRequest' x-position: 2 responses: 200: description: '' 400: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 404: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 409: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 500: description: '' summary: Governance instances resume workflow2 x-summary-source: derived /v1/governance/instances/{id}/cancel: post: tags: - GovernanceInstances operationId: GovernanceInstances_CancelWorkflow2 parameters: - name: id in: path required: true schema: type: string format: guid x-position: 1 - name: x-correlation-id in: header schema: type: string requestBody: x-name: request content: application/json: schema: $ref: '#/components/schemas/WorkflowLifecycleActionRequest' x-position: 2 responses: 200: description: '' 400: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 404: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 409: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 500: description: '' summary: Governance instances cancel workflow2 x-summary-source: derived /v1/governance/instances/{id}/stages/{stageInstanceId}/approvals: post: tags: - GovernanceInstances operationId: GovernanceInstances_RecordApproval2 parameters: - name: id in: path required: true schema: type: string format: guid x-position: 1 - name: stageInstanceId in: path required: true schema: type: string format: guid x-position: 2 - name: x-correlation-id in: header schema: type: string requestBody: x-name: request content: application/json: schema: $ref: '#/components/schemas/RecordApprovalRequest' required: true x-position: 3 responses: 201: description: '' 400: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 403: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 404: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 409: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 500: description: '' summary: Governance instances record approval2 x-summary-source: derived /v1/governance/instances/{id}/stages/{stageInstanceId}/evaluations: post: tags: - GovernanceInstances operationId: GovernanceInstances_RecordEvaluation2 parameters: - name: id in: path required: true schema: type: string format: guid x-position: 1 - name: stageInstanceId in: path required: true schema: type: string format: guid x-position: 2 - name: x-correlation-id in: header schema: type: string requestBody: x-name: request content: application/json: schema: $ref: '#/components/schemas/RecordEvaluationResultRequest' required: true x-position: 3 responses: 200: description: '' 400: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 404: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 409: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 500: description: '' summary: Governance instances record evaluation2 x-summary-source: derived /v1/governance/instances/{id}/stages/{stageInstanceId}/artifacts: post: tags: - GovernanceInstances operationId: GovernanceInstances_RecordArtifact2 parameters: - name: id in: path required: true schema: type: string format: guid x-position: 1 - name: stageInstanceId in: path required: true schema: type: string format: guid x-position: 2 - name: x-correlation-id in: header schema: type: string requestBody: x-name: request content: application/json: schema: $ref: '#/components/schemas/RecordArtifactRequest' required: true x-position: 3 responses: 200: description: '' 400: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 404: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 409: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 500: description: '' summary: Governance instances record artifact2 x-summary-source: derived /v1/governance/instances/{id}/stages/{stageInstanceId}/attestations: post: tags: - GovernanceInstances operationId: GovernanceInstances_RecordAttestation2 parameters: - name: id in: path required: true schema: type: string format: guid x-position: 1 - name: stageInstanceId in: path required: true schema: type: string format: guid x-position: 2 - name: x-correlation-id in: header schema: type: string requestBody: x-name: request content: application/json: schema: $ref: '#/components/schemas/RecordAttestationRequest' required: true x-position: 3 responses: 200: description: '' 400: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 404: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 409: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 500: description: '' summary: Governance instances record attestation2 x-summary-source: derived /v1/governance/instances/{id}/stages/{stageInstanceId}/manual-proceed: post: tags: - GovernanceInstances operationId: GovernanceInstances_ManualProceed2 parameters: - name: id in: path required: true schema: type: string format: guid x-position: 1 - name: stageInstanceId in: path required: true schema: type: string format: guid x-position: 2 - name: x-correlation-id in: header schema: type: string responses: 200: description: '' 400: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 404: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 409: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 500: description: '' summary: Governance instances manual proceed2 x-summary-source: derived /v1/governance/instances/{id}/stages/{stageInstanceId}/bypass: post: tags: - GovernanceInstances operationId: GovernanceInstances_BypassGate2 parameters: - name: id in: path required: true schema: type: string format: guid x-position: 1 - name: stageInstanceId in: path required: true schema: type: string format: guid x-position: 2 - name: x-correlation-id in: header schema: type: string requestBody: x-name: request content: application/json: schema: $ref: '#/components/schemas/BypassGateRequest' required: true x-position: 3 responses: 200: description: '' 400: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 404: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 409: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 500: description: '' summary: Governance instances bypass gate2 x-summary-source: derived /v1/governance/instances/{id}/stages/{stageInstanceId}/user-decision: post: tags: - GovernanceInstances operationId: GovernanceInstances_RecordUserDecision2 parameters: - name: id in: path required: true schema: type: string format: guid x-position: 1 - name: stageInstanceId in: path required: true schema: type: string format: guid x-position: 2 - name: x-correlation-id in: header schema: type: string requestBody: x-name: request content: application/json: schema: $ref: '#/components/schemas/UserDecisionRequest' required: true x-position: 3 responses: 200: description: '' 400: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 404: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 409: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 500: description: '' summary: Governance instances record user decision2 x-summary-source: derived /v1/governance/instances/{id}/regress: post: tags: - GovernanceInstances operationId: GovernanceInstances_RegressToPreviousStage2 parameters: - name: id in: path required: true schema: type: string format: guid x-position: 1 - name: x-correlation-id in: header schema: type: string requestBody: x-name: request content: application/json: schema: $ref: '#/components/schemas/RegressStageRequest' required: true x-position: 2 responses: 200: description: '' 400: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 404: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 409: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 500: description: '' summary: Governance instances regress to previous stage2 x-summary-source: derived /v1/governance/instances/{id}/archive: post: tags: - GovernanceInstances operationId: GovernanceInstances_ArchiveUseCase2 parameters: - name: id in: path required: true schema: type: string format: guid x-position: 1 - name: x-correlation-id in: header schema: type: string requestBody: x-name: request content: application/json: schema: $ref: '#/components/schemas/ArchiveUseCaseRequest' x-position: 2 responses: 200: description: '' 404: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 409: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 500: description: '' summary: Governance instances archive use case2 x-summary-source: derived /v1/governance/instances/{id}/quarantine: post: tags: - GovernanceInstances operationId: GovernanceInstances_QuarantineUseCase2 parameters: - name: id in: path required: true schema: type: string format: guid x-position: 1 - name: x-correlation-id in: header schema: type: string requestBody: x-name: request content: application/json: schema: $ref: '#/components/schemas/QuarantineUseCaseRequest' x-position: 2 responses: 200: description: '' 404: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 409: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 500: description: '' summary: Governance instances quarantine use case2 x-summary-source: derived /v1/governance/instances/{id}/migrate: post: tags: - GovernanceInstances operationId: GovernanceInstances_MigrateWorkflowInstance2 parameters: - name: id in: path required: true schema: type: string format: guid x-position: 1 - name: targetVersionId in: query schema: type: - string - 'null' format: guid x-position: 2 - name: x-correlation-id in: header schema: type: string responses: 200: description: '' content: application/json: schema: $ref: '#/components/schemas/WorkflowMigrationResult' 404: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 409: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 500: description: '' summary: Governance instances migrate workflow instance2 x-summary-source: derived /v1/governance/instances/migrate/bulk: post: tags: - GovernanceInstances operationId: GovernanceInstances_BulkMigrateWorkflowInstances2 parameters: - name: x-correlation-id in: header schema: type: string requestBody: x-name: request content: application/json: schema: $ref: '#/components/schemas/BulkMigrateRequest' required: true x-position: 1 responses: 200: description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/UseCaseMigrationResult' 400: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 500: description: '' summary: Governance instances bulk migrate workflow instances2 x-summary-source: derived /v1/governance/instances/update-preview: get: tags: - GovernanceInstances operationId: GovernanceInstances_GetUpdatePreview2 parameters: - name: familyId in: query schema: type: string format: guid x-position: 1 - name: targetVersionId in: query schema: type: - string - 'null' format: guid x-position: 2 - name: x-correlation-id in: header schema: type: string responses: 200: description: '' content: application/json: schema: $ref: '#/components/schemas/UpdatePreviewResponse' 400: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 404: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 409: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 500: description: '' summary: Governance instances get update preview2 x-summary-source: derived /v1/governance/instances/by-usecase/{useCaseId}/upgrade-availability: get: tags: - GovernanceInstances operationId: GovernanceInstances_GetInstanceUpgradeAvailability2 parameters: - name: useCaseId in: path required: true schema: type: string format: guid x-position: 1 - name: x-correlation-id in: header schema: type: string responses: 200: description: '' content: application/json: schema: $ref: '#/components/schemas/WorkflowUpgradeAvailability' 204: description: '' 500: description: '' summary: Governance instances get instance upgrade availability2 x-summary-source: derived /v1/governance/instances/check-gate: post: tags: - GovernanceInstances operationId: GovernanceInstances_CheckGate2 parameters: - name: x-correlation-id in: header schema: type: string requestBody: x-name: request content: application/json: schema: $ref: '#/components/schemas/CheckGateRequest' required: true x-position: 1 responses: 200: description: '' content: application/json: schema: $ref: '#/components/schemas/GovernanceGateCheckResult' 400: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 500: description: '' summary: Governance instances check gate2 x-summary-source: derived /v1/governance/instances/{id}/pending-actions/{actionId}/resolve: post: tags: - GovernanceInstances operationId: GovernanceInstances_ResolvePendingAction2 parameters: - name: id in: path required: true schema: type: string format: guid x-position: 1 - name: actionId in: path required: true schema: type: string format: guid x-position: 2 - name: x-correlation-id in: header schema: type: string responses: 200: description: '' 400: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 404: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 409: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 500: description: '' summary: Governance instances resolve pending action2 x-summary-source: derived /v1/governance/instances/{id}/pending-actions/{actionId}: delete: tags: - GovernanceInstances operationId: GovernanceInstances_DismissPendingAction2 parameters: - name: id in: path required: true schema: type: string format: guid x-position: 1 - name: actionId in: path required: true schema: type: string format: guid x-position: 2 - name: x-correlation-id in: header schema: type: string responses: 200: description: '' 400: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 404: description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 500: description: '' summary: Governance instances dismiss pending action2 x-summary-source: derived /v1/governance/instances/{id}/requests: get: tags: - GovernanceInstances operationId: GovernanceInstances_GetRequests2 parameters: - name: id in: path required: true schema: type: string format: guid x-position: 1 - name: status in: query schema: type: - string - 'null' x-position: 2 - name: x-correlation-id in: header schema: type: string responses: 200: description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/GovernanceRequestDto' 500: description: '' summary: Governance instances get requests2 x-summary-source: derived components: schemas: RecordApprovalRequest: type: object additionalProperties: false required: - decision properties: decision: $ref: '#/components/schemas/ApprovalDecision' comments: type: - string - 'null' StageOutputSummary: type: object additionalProperties: false properties: stageName: type: string stageOrder: type: integer format: int32 finalStatus: $ref: '#/components/schemas/StageInstanceStatus' outcome: oneOf: - $ref: '#/components/schemas/StageOutcome' enteredAt: type: - string - 'null' format: date-time completedAt: type: - string - 'null' format: date-time durationMs: type: - integer - 'null' format: int64 automations: type: array items: $ref: '#/components/schemas/AutomationOutputSummary' WorkflowHistoryEntry: type: object additionalProperties: false properties: eventType: type: string timestamp: type: string format: date-time userId: type: - string - 'null' format: guid stageOrder: type: - integer - 'null' format: int32 stageName: type: - string - 'null' details: type: string metadata: type: - object - 'null' additionalProperties: {} PagedResultOfWorkflowInstanceDto: type: object additionalProperties: false properties: items: type: array items: $ref: '#/components/schemas/WorkflowInstanceDto' totalCount: type: integer format: int32 WorkflowLifecycleActionRequest: type: object additionalProperties: false properties: reason: type: - string - 'null' maxLength: 2000 UserDecisionRequest: type: object additionalProperties: false required: - decision properties: decision: $ref: '#/components/schemas/UserDecision' reason: type: - string - 'null' maxLength: 2000 StageAutomationTailStatus: type: string description: '' x-enumNames: - Pending - Running - Completed - Abandoned enum: - Pending - Running - Completed - Abandoned BulkMigrateRequest: type: object additionalProperties: false required: - useCaseIds properties: useCaseIds: type: array items: type: string format: guid targetVersionId: type: - string - 'null' format: guid GateBlockingDto: type: object additionalProperties: false properties: isBlocked: type: boolean reason: type: - string - 'null' blockingArtifacts: type: array items: type: string riskStale: type: boolean WorkflowInstanceDto: type: object additionalProperties: false properties: id: type: string format: guid workflowId: type: string format: guid workflowName: type: string useCaseId: type: string format: guid status: $ref: '#/components/schemas/WorkflowInstanceStatus' currentStageOrder: type: integer format: int32 startedAt: type: string format: date-time completedAt: type: - string - 'null' format: date-time initiatedByUserId: type: - string - 'null' format: guid succeededActionCount: type: integer format: int32 failedActionCount: type: integer format: int32 skippedActionCount: type: integer format: int32 AutomationExecutionStatus: type: string description: '' x-enumNames: - Pending - Running - Completed - Failed - Skipped enum: - Pending - Running - Completed - Failed - Skipped OverrideInfoDto: type: object additionalProperties: false properties: type: type: string reason: type: - string - 'null' performedByUserId: type: - string - 'null' format: guid performedAt: type: string format: date-time WorkflowDecision: type: string description: '' x-enumNames: - Approved - Cancelled - Failed enum: - Approved - Cancelled - Failed WorkflowOutput: type: object additionalProperties: false properties: decision: $ref: '#/components/schemas/WorkflowDecision' decisionReason: type: - string - 'null' startedAt: type: string format: date-time completedAt: type: string format: date-time totalDurationMs: type: integer format: int64 stages: type: array items: $ref: '#/components/schemas/StageOutputSummary' QuarantineUseCaseRequest: type: object additionalProperties: false properties: reason: type: - string - 'null' maxLength: 2000 ExecutionOutcome: type: string description: '' x-enumNames: - Success - Skipped - Failed - InProgress enum: - Success - Skipped - Failed - InProgress ApprovalRecordDto: type: object additionalProperties: false properties: id: type: string format: guid stageInstanceId: type: string format: guid approverUserId: type: string format: guid decision: $ref: '#/components/schemas/ApprovalDecision' comments: type: - string - 'null' decidedAt: type: string format: date-time invalidatedAt: type: - string - 'null' format: date-time invalidatedByUserId: type: - string - 'null' format: guid DisplaySectionItemDto: type: object additionalProperties: false properties: key: type: string order: type: integer format: int32 systemRequirement: type: boolean options: type: - object - 'null' additionalProperties: {} isRequired: type: boolean requirementReason: type: - string - 'null' StageProgressionStepDto: type: object additionalProperties: false properties: stageId: type: string format: guid stageInstanceId: type: string format: guid stageKey: type: string name: type: string order: type: integer format: int32 status: $ref: '#/components/schemas/StageInstanceStatus' isCurrent: type: boolean isSteadyState: type: boolean wasEntered: type: boolean willTraverse: type: boolean actions: type: array items: $ref: '#/components/schemas/AutomationSummaryDto' StageAutomationProgressDto: type: object additionalProperties: false properties: stageEntryExecutionId: type: string format: guid batchId: type: string format: guid batchCreatedAt: type: string format: date-time timing: type: string status: $ref: '#/components/schemas/AutomationExecutionStatus' tailStatus: oneOf: - $ref: '#/components/schemas/StageAutomationTailStatus' blocksStageExit: type: boolean currentSequence: type: - integer - 'null' format: int32 currentAutomationType: type: - string - 'null' completedSteps: type: integer format: int32 finishedSteps: type: integer format: int32 failedSteps: type: integer format: int32 skippedSteps: type: integer format: int32 totalSteps: type: integer format: int32 steps: type: array items: $ref: '#/components/schemas/AutomationSummaryDto' StartWorkflowRequest: type: object additionalProperties: false required: - workflowId - useCaseId properties: workflowId: type: string format: guid minLength: 1 useCaseId: type: string format: guid minLength: 1 ApprovalDecision: type: string description: '' x-enumNames: - Approved - Rejected - Deferred - Bypassed enum: - Approved - Rejected - Deferred - Bypassed ActionOutput: type: object discriminator: propertyName: $type mapping: WebhookOutput: '#/components/schemas/WebhookOutput' RunEvaluationOutput: '#/components/schemas/RunEvaluationOutput' RunRedTeamOutput: '#/components/schemas/RunRedTeamOutput' HttpRequestOutput: '#/components/schemas/HttpRequestOutput' AddGateRequirementOutput: '#/components/schemas/AddGateRequirementOutput' RemoveGateRequirementOutput: '#/components/schemas/RemoveGateRequirementOutput' RegressToStageOutput: '#/components/schemas/RegressToStageOutput' SdkStepOutput: '#/components/schemas/SdkStepOutput' RunAutomationOutput: '#/components/schemas/RunAutomationOutput' RunSystemAgentOutput: '#/components/schemas/RunSystemAgentOutput' GenerateNutritionLabelOutput: '#/components/schemas/GenerateNutritionLabelOutput' GenerateReceiptOutput: '#/components/schemas/GenerateReceiptOutput' SealNutritionLabelOutput: '#/components/schemas/SealNutritionLabelOutput' RunInitialRiskAnalysisOutput: '#/components/schemas/RunInitialRiskAnalysisOutput' RunInherentRiskAnalysisOutput: '#/components/schemas/RunInherentRiskAnalysisOutput' RunResidualRiskAnalysisOutput: '#/components/schemas/RunResidualRiskAnalysisOutput' RunAssessmentOutput: '#/components/schemas/RunAssessmentOutput' NotifyOutput: '#/components/schemas/NotifyOutput' x-abstract: true additionalProperties: false required: - $type properties: outcome: $ref: '#/components/schemas/ExecutionOutcome' message: type: - string - 'null' externalJobId: type: - string - 'null' format: guid $type: type: string GovernanceRequestDto: type: object additionalProperties: false properties: id: type: string format: guid workflowInstanceId: type: string format: guid stageInstanceId: type: string format: guid actionType: type: string status: type: string requestedByUserId: type: string format: guid requestedAt: type: string format: date-time completedAt: type: - string - 'null' format: date-time executionError: type: - string - 'null' ArchiveUseCaseRequest: type: object additionalProperties: false properties: reason: type: - string - 'null' maxLength: 2000 StageInstanceDto: type: object additionalProperties: false properties: id: type: string format: guid stageId: type: string format: guid stageName: type: string stageOrder: type: integer format: int32 status: $ref: '#/components/schemas/StageInstanceStatus' outcome: oneOf: - $ref: '#/components/schemas/StageOutcome' enteredAt: type: - string - 'null' format: date-time completedAt: type: - string - 'null' format: date-time gateSlaDeadline: type: - string - 'null' format: date-time requirementStatus: oneOf: - $ref: '#/components/schemas/StageRequirementStatus' gate: oneOf: - $ref: '#/components/schemas/StageGateConfig' automationExecutions: type: array items: $ref: '#/components/schemas/AutomationExecutionRecord' automationProgress: oneOf: - $ref: '#/components/schemas/StageAutomationProgressDto' approvals: type: array items: $ref: '#/components/schemas/ApprovalRecordDto' override: oneOf: - $ref: '#/components/schemas/OverrideInfoDto' defaultApprovers: oneOf: - $ref: '#/components/schemas/DefaultApproversDto' approvalRelevant: type: boolean approversMissing: type: boolean displaySection: oneOf: - $ref: '#/components/schemas/DisplaySectionV2Dto' effectiveRequiredArtifacts: type: array items: type: string blocking: oneOf: - $ref: '#/components/schemas/GateBlockingDto' GovernanceGateCheckResult: type: object additionalProperties: false properties: isBlocked: type: boolean governanceRequestId: type: - string - 'null' format: guid workflowInstanceId: type: - string - 'null' format: guid stageInstanceId: type: - string - 'null' format: guid blockReason: type: - string - 'null' AutomationOutputSummary: type: object additionalProperties: false properties: automationType: type: string timing: type: string status: $ref: '#/components/schemas/AutomationExecutionStatus' durationMs: type: - integer - 'null' format: int64 output: oneOf: - $ref: '#/components/schemas/ActionOutput' CheckGateRequest: type: object additionalProperties: false required: - useCaseId - actionType - actionPayload properties: useCaseId: type: string format: guid minLength: 1 actionType: type: string minLength: 1 actionPayload: type: string minLength: 1 ArtifactCriterion: type: object additionalProperties: false properties: key: type: string category: type: - string - 'null' subCategories: type: array items: type: string PendingAction: type: object additionalProperties: false properties: id: type: string format: guid type: type: string message: type: string targetStageId: type: - string - 'null' format: guid createdAt: type: string format: date-time metadata: type: object additionalProperties: type: string AttestationRecord: type: object additionalProperties: false properties: attested: type: boolean attestedByUserId: type: - string - 'null' format: guid attestedAt: type: - string - 'null' format: date-time ProblemDetails: type: object additionalProperties: {} properties: type: type: - string - 'null' title: type: - string - 'null' status: type: - integer - 'null' format: int32 detail: type: - string - 'null' instance: type: - string - 'null' DocumentSlot: type: object additionalProperties: false properties: slotKey: type: string label: type: string description: type: - string - 'null' required: type: boolean acceptedFileTypes: type: - array - 'null' items: type: string AutomationSummaryDto: type: object additionalProperties: false properties: automationId: type: string format: guid automationType: type: string timing: type: string displayName: type: - string - 'null' status: $ref: '#/components/schemas/AutomationExecutionStatus' externalJobId: type: - string - 'null' format: guid startedAt: type: - string - 'null' format: date-time completedAt: type: - string - 'null' format: date-time error: type: - string - 'null' sequence: type: - integer - 'null' format: int32 durationMs: type: - integer - 'null' format: int64 StageProgressionDto: type: object additionalProperties: false properties: workflowInstanceId: type: string format: guid useCaseId: type: string format: guid status: $ref: '#/components/schemas/WorkflowInstanceStatus' currentStageOrder: type: integer format: int32 canRegress: type: boolean regressTargetStageId: type: - string - 'null' format: guid nextStageId: type: - string - 'null' format: guid currentStageRegressesOnSatisfied: type: boolean stages: type: array items: $ref: '#/components/schemas/StageProgressionStepDto' InstanceUpdatePlanDto: type: object additionalProperties: false properties: useCaseId: type: string format: guid useCaseName: type: - string - 'null' workflowInstanceId: type: string format: guid currentVersion: type: integer format: int32 outcome: type: string regressionTargetStageKey: type: - string - 'null' approvalsInvalidated: type: integer format: int32 stagesReset: type: array items: type: string orphanedBranchStagesRetired: type: integer format: int32 blockers: type: array items: type: string ConditionNode: type: object x-abstract: true additionalProperties: false properties: type: type: string WorkflowMigrationResult: type: object additionalProperties: false required: - workflowInstanceId properties: workflowInstanceId: type: string format: guid fromVersion: type: integer format: int32 toVersion: type: integer format: int32 material: type: boolean regressed: type: boolean addedStageKeys: type: array items: type: string removedStageKeys: type: array items: type: string WorkflowUpgradeAvailability: type: object additionalProperties: false required: - targetVersionId properties: currentVersion: type: integer format: int32 availableVersion: type: integer format: int32 availableVersionLabel: type: - string - 'null' tier: type: - string - 'null' changedItemKeys: type: array items: type: string targetVersionId: type: string format: guid isMaterial: type: boolean isCrossFamily: type: boolean targetWorkflowName: type: - string - 'null' RegressStageRequest: type: object additionalProperties: false properties: reason: type: - string - 'null' maxLength: 2000 RecordAttestationRequest: type: object additionalProperties: false required: - attestationType properties: attestationType: type: string minLength: 1 BypassGateRequest: type: object additionalProperties: false required: - reason properties: reason: type: string maxLength: 2000 minLength: 1 UserDecision: type: string description: '' x-enumNames: - Continue - Retry - Abort enum: - Continue - Retry - Abort UseCaseMigrationResult: type: object additionalProperties: false required: - useCaseId - status properties: useCaseId: type: string format: guid status: type: string result: oneOf: - $ref: '#/components/schemas/WorkflowMigrationResult' reason: type: - string - 'null' StageRequirementStatus: type: object additionalProperties: false properties: approvalResolution: type: - string - 'null' approvalsReceived: type: integer format: int32 approvalsRequired: type: integer format: int32 evaluationResults: type: object additionalProperties: $ref: '#/components/schemas/ThresholdResult' artifactStatus: type: object additionalProperties: type: boolean documentSlotStatus: type: object additionalProperties: type: array items: type: string artifactRequirementReasons: type: - object - 'null' additionalProperties: type: string attestationStatus: type: object additionalProperties: $ref: '#/components/schemas/AttestationRecord' approvalNotificationSentAt: type: - string - 'null' format: date-time defaultApprovalResolution: type: - string - 'null' defaultApprovalsReceived: type: integer format: int32 defaultApprovalsRequired: type: integer format: int32 requiresApprovalOverride: type: - boolean - 'null' UpdatePreviewResponse: type: object additionalProperties: false properties: familyId: type: string format: guid targetVersionId: type: string format: guid targetVersion: type: integer format: int32 targetVersionLabel: type: - string - 'null' anyRegressions: type: boolean plans: type: array items: $ref: '#/components/schemas/InstanceUpdatePlanDto' DisplaySectionV2Dto: type: object additionalProperties: false properties: actionable: type: array items: $ref: '#/components/schemas/DisplaySectionItemDto' representational: type: array items: $ref: '#/components/schemas/DisplaySectionItemDto' RecordArtifactRequest: type: object additionalProperties: false required: - artifactType properties: artifactType: type: string minLength: 1 slotKey: type: - string - 'null' ThresholdResult: type: object additionalProperties: false properties: actualValue: type: - number - 'null' format: double requiredValue: type: number format: double passed: type: boolean evaluationJobId: type: - string - 'null' format: guid evaluatedAt: type: - string - 'null' format: date-time StageOutcome: type: string description: '' x-enumNames: - NoDecision - Approved - Rejected - FlaggedForReview enum: - NoDecision - Approved - Rejected - FlaggedForReview RecordEvaluationResultRequest: type: object additionalProperties: false required: - metricName - actualValue properties: metricName: type: string minLength: 1 actualValue: type: number format: double evaluationJobId: type: - string - 'null' format: guid WorkflowInstanceDetailDto: type: object additionalProperties: false properties: id: type: string format: guid workflowId: type: string format: guid workflowName: type: string workflowFamilyId: type: string format: guid workflowVersion: type: integer format: int32 useCaseId: type: string format: guid status: $ref: '#/components/schemas/WorkflowInstanceStatus' currentStageOrder: type: integer format: int32 startedAt: type: string format: date-time completedAt: type: - string - 'null' format: date-time initiatedByUserId: type: - string - 'null' format: guid stageInstances: type: array items: $ref: '#/components/schemas/StageInstanceDto' history: type: array items: $ref: '#/components/schemas/WorkflowHistoryEntry' pendingActions: type: array items: $ref: '#/components/schemas/PendingAction' output: oneOf: - $ref: '#/components/schemas/WorkflowOutput' AutomationExecutionRecord: type: object additionalProperties: false properties: automationId: type: string format: guid automationType: type: string timing: type: string status: $ref: '#/components/schemas/AutomationExecutionStatus' startedAt: type: - string - 'null' format: date-time completedAt: type: - string - 'null' format: date-time durationMs: type: - integer - 'null' format: int64 externalJobId: type: - string - 'null' format: guid error: type: - string - 'null' retryCount: type: integer format: int32 output: oneOf: - $ref: '#/components/schemas/ActionOutput' usage: oneOf: - $ref: '#/components/schemas/ExecutionUsageMetrics' stageEntryExecutionId: type: - string - 'null' format: guid executionId: type: - string - 'null' format: guid batchId: type: - string - 'null' format: guid sequence: type: - integer - 'null' format: int32 createdAt: type: - string - 'null' format: date-time StageGateConfig: type: object additionalProperties: false properties: requiresApproval: type: boolean genericApproval: type: boolean approverUserIds: type: array items: type: string format: guid approverRoleIds: type: array items: type: string format: guid approverGroupIds: type: array items: type: string format: guid approvalLogic: type: string slaHours: type: - integer - 'null' format: int32 escalationUserIds: type: array items: type: string format: guid evaluationThresholds: type: object additionalProperties: type: number format: double requiredArtifacts: type: array items: type: string requiredArtifactCriteria: type: array items: $ref: '#/components/schemas/ArtifactCriterion' documentSlots: type: - array - 'null' items: $ref: '#/components/schemas/DocumentSlot' requiredAttestations: type: array items: type: string satisfactionCondition: oneOf: - $ref: '#/components/schemas/ConditionNode' regressOnSatisfied: type: boolean DefaultApproversDto: type: object additionalProperties: false properties: approverUserIds: type: array items: type: string format: guid approverGroupIds: type: array items: type: string format: guid approvalLogic: type: string WorkflowInstanceStatus: type: string description: '' x-enumNames: - Active - Completed - Suspended - Cancelled - Failed enum: - Active - Completed - Suspended - Cancelled - Failed ExecutionUsageMetrics: type: object additionalProperties: false properties: promptTokens: type: - integer - 'null' format: int32 completionTokens: type: - integer - 'null' format: int32 totalTokens: type: - integer - 'null' format: int32 cachedInputTokens: type: - integer - 'null' format: int32 cost: type: - number - 'null' format: decimal modelName: type: - string - 'null' modelProvider: type: - string - 'null' StageInstanceStatus: type: string description: '' x-enumNames: - Pending - AwaitingSchedule - Active - AwaitingGate - AwaitingAutomation - Completed - Skipped - Regressed - Bypassed - Failed - AwaitingUserReview enum: - Pending - AwaitingSchedule - Active - AwaitingGate - AwaitingAutomation - Completed - Skipped - Regressed - Bypassed - Failed - AwaitingUserReview securitySchemes: ApiKey: type: apiKey description: API Key Authentication name: X-API-Key in: header Cookies: type: apiKey description: Cookie based Authentication name: Cookie in: header x-generator: NSwag v14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))