openapi: 3.0.1 info: title: Union FlyteAdmin Control Plane API (HTTP/JSON Gateway) Domains Executions API description: Conservative model of the documented HTTP/JSON gateway exposed by the Union.ai / Flyte control plane (the FlyteIDL AdminService). The control plane is primarily a gRPC service; an HTTP/JSON REST gateway is generated automatically with grpc-gateway, mapping each gRPC method to an HTTP endpoint under /api/v1/. Paths and methods below are taken from the public FlyteIDL admin service google.api.http annotations. Request/response bodies are modeled loosely (object) because the gRPC<->JSON mapping of the full protobuf message tree is large and not maintained as a hand-authored OpenAPI contract by the vendor. termsOfService: https://www.union.ai/legal/terms-of-service contact: name: Union.ai url: https://www.union.ai/contact license: name: Apache 2.0 (Flyte / FlyteIDL) url: https://www.apache.org/licenses/LICENSE-2.0 version: '1.0' servers: - url: https://{org}.app.union.ai description: Union BYOC / managed control plane (replace {org} with your tenant). variables: org: default: your-org - url: https://serverless.union.ai description: Union Serverless control plane. security: - OAuth2: - all - BearerAuth: [] tags: - name: Executions paths: /api/v1/executions: post: operationId: createExecution tags: - Executions summary: Launch a workflow execution from a launch plan. requestBody: $ref: '#/components/requestBodies/Generic' responses: '200': $ref: '#/components/responses/OK' /api/v1/executions/relaunch: post: operationId: relaunchExecution tags: - Executions summary: Relaunch a previously created execution. requestBody: $ref: '#/components/requestBodies/Generic' responses: '200': $ref: '#/components/responses/OK' /api/v1/executions/recover: post: operationId: recoverExecution tags: - Executions summary: Recover a failed execution from the last known successful point. requestBody: $ref: '#/components/requestBodies/Generic' responses: '200': $ref: '#/components/responses/OK' /api/v1/executions/{project}/{domain}: get: operationId: listExecutions tags: - Executions summary: List executions in a project/domain. parameters: - $ref: '#/components/parameters/PathProject' - $ref: '#/components/parameters/PathDomain' - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/Token' - $ref: '#/components/parameters/Filters' responses: '200': $ref: '#/components/responses/OK' /api/v1/executions/{project}/{domain}/{name}: get: operationId: getExecution tags: - Executions summary: Get a single workflow execution. parameters: - $ref: '#/components/parameters/PathProject' - $ref: '#/components/parameters/PathDomain' - $ref: '#/components/parameters/PathName' responses: '200': $ref: '#/components/responses/OK' put: operationId: updateExecution tags: - Executions summary: Update execution metadata (e.g. state). parameters: - $ref: '#/components/parameters/PathProject' - $ref: '#/components/parameters/PathDomain' - $ref: '#/components/parameters/PathName' requestBody: $ref: '#/components/requestBodies/Generic' responses: '200': $ref: '#/components/responses/OK' delete: operationId: terminateExecution tags: - Executions summary: Terminate a running execution. parameters: - $ref: '#/components/parameters/PathProject' - $ref: '#/components/parameters/PathDomain' - $ref: '#/components/parameters/PathName' responses: '200': $ref: '#/components/responses/OK' /api/v1/data/executions/{project}/{domain}/{name}: get: operationId: getExecutionData tags: - Executions summary: Get input/output data URLs for an execution. parameters: - $ref: '#/components/parameters/PathProject' - $ref: '#/components/parameters/PathDomain' - $ref: '#/components/parameters/PathName' responses: '200': $ref: '#/components/responses/OK' components: parameters: Limit: name: limit in: query required: false schema: type: integer format: int32 description: Maximum number of results to return for this page. Token: name: token in: query required: false schema: type: string description: Opaque pagination token returned by the previous page. PathName: name: name in: path required: true schema: type: string Filters: name: filters in: query required: false schema: type: string description: FlyteAdmin filter expression (e.g. eq(execution.phase,RUNNING)). PathProject: name: project in: path required: true schema: type: string PathDomain: name: domain in: path required: true schema: type: string requestBodies: Generic: required: true content: application/json: schema: type: object description: JSON projection of the corresponding FlyteIDL protobuf request message. See the FlyteIDL admin protos for the exact field tree. responses: OK: description: OK content: application/json: schema: type: object description: JSON projection of the corresponding FlyteIDL protobuf response message. securitySchemes: OAuth2: type: oauth2 description: FlyteAdmin secures client connections with OAuth2. Interactive CLI/UI clients use the Authorization Code + PKCE flow; machine clients use the Client Credentials flow. User authentication to the console is via OpenID Connect. Tokens are presented as a Bearer access token. flows: authorizationCode: authorizationUrl: https://{org}.app.union.ai/oauth2/authorize tokenUrl: https://{org}.app.union.ai/oauth2/token scopes: all: Full control-plane access. clientCredentials: tokenUrl: https://{org}.app.union.ai/oauth2/token scopes: all: Full control-plane access. BearerAuth: type: http scheme: bearer bearerFormat: JWT