openapi: 3.2.0 info: description: Runtime API for workflow/chat/deployment/session execution. title: ABL Runtime API - public/ Workflows API version: 1.0.0 x-generated: 'do not edit; source: route contracts' tags: - name: Workflows paths: /api/v1/project/{projectSlug}/{env}/workflow/{workflowSlug}/invoke: post: description: Deployment-scoped workflow invocation. `?mode=sync` (default) returns the result inline; `async`/`async_push` return an executionId or push acknowledgement. operationId: runtime.workflow.invoke parameters: - description: Project slug in: path name: projectSlug required: true schema: description: Project slug type: string - description: Environment tier in: path name: env required: true schema: description: Environment tier enum: - dev - staging - production type: string - description: Deployed workflow slug in: path name: workflowSlug required: true schema: description: Deployed workflow slug type: string - in: query name: mode required: false schema: enum: - sync - async - async_push type: string requestBody: content: application/json: schema: properties: input: additionalProperties: anyOf: - {} - type: 'null' description: Workflow trigger input type: object type: object responses: '200': content: application/json: schema: properties: data: properties: executionId: type: string result: additionalProperties: anyOf: - {} - type: 'null' type: object status: type: string workflowVersion: type: string workflowVersionId: type: string required: - executionId - status type: object success: enum: - true type: boolean required: - success - data type: object description: Success '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Unauthorized '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Internal server error security: - ApiKeyAuth: [] summary: Invoke a deployed workflow tags: - Workflows /api/v1/workflows/{workflowId}/execute: post: description: Executes the active deployed version unless `?version=` is supplied. `mode=sync` returns the result inline; `async`/`async_push` return an executionId to poll or a push acknowledgement. operationId: runtime.workflow.execute parameters: - description: Workflow id in: path name: workflowId required: true schema: description: Workflow id type: string - in: query name: mode required: false schema: default: sync enum: - sync - async - async_push type: string - in: query name: version required: false schema: minLength: 1 type: string requestBody: content: application/json: schema: additionalProperties: false properties: accessToken: type: string callbackUrl: format: uri type: string executionId: format: uuid type: string input: additionalProperties: anyOf: - {} - type: 'null' default: {} type: object type: object responses: '200': content: application/json: schema: properties: data: properties: executionId: type: string resolvedVersion: type: string resolvedVersionId: type: string result: additionalProperties: anyOf: - {} - type: 'null' type: object status: description: e.g. 'completed', 'running', 'accepted', 'failed' type: string required: - executionId - status type: object success: enum: - true type: boolean required: - success - data type: object description: Success '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Unauthorized '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Internal server error security: - ApiKeyAuth: [] summary: Execute a workflow by id tags: - Workflows /api/v1/workflows/{workflowId}/executions/{executionId}: get: description: Poll the status/result of an asynchronous workflow execution. operationId: runtime.workflow.getExecution parameters: - description: Workflow id in: path name: workflowId required: true schema: description: Workflow id type: string - description: Execution id returned by an async execute in: path name: executionId required: true schema: description: Execution id returned by an async execute type: string responses: '200': content: application/json: schema: properties: data: additionalProperties: anyOf: - {} - type: 'null' description: Engine execution record (status, result, timestamps) type: object success: enum: - true type: boolean required: - success - data type: object description: Success '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Unauthorized '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Internal server error security: - ApiKeyAuth: [] summary: Get async workflow execution status tags: - Workflows /api/v1/workflows/{workflowId}/versions/{version}/execute: post: description: Path-segment version pinning. The `{version}` segment wins over any `?version=`. operationId: runtime.workflow.executeVersion parameters: - description: Workflow id in: path name: workflowId required: true schema: description: Workflow id type: string - description: Published version, e.g. v0.2.0 in: path name: version required: true schema: description: Published version, e.g. v0.2.0 type: string requestBody: content: application/json: schema: additionalProperties: false properties: accessToken: type: string callbackUrl: format: uri type: string executionId: format: uuid type: string input: additionalProperties: anyOf: - {} - type: 'null' default: {} type: object type: object responses: '200': content: application/json: schema: properties: data: properties: executionId: type: string resolvedVersion: type: string resolvedVersionId: type: string result: additionalProperties: anyOf: - {} - type: 'null' type: object status: description: e.g. 'completed', 'running', 'accepted', 'failed' type: string required: - executionId - status type: object success: enum: - true type: boolean required: - success - data type: object description: Success '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Unauthorized '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Internal server error security: - ApiKeyAuth: [] summary: Execute a pinned workflow version tags: - Workflows components: schemas: ErrorResponse: properties: error: type: string required: - error type: object securitySchemes: ApiKeyAuth: in: header name: x-api-key type: apiKey