AdminService is the primary gRPC service exposed by FlyteAdmin. It is defined in flyteidl/service/admin.proto and served over both gRPC and HTTP (via grpc-gateway at /api/v1/...).
Task management
CreateTask
Registers a new task definition. Task versions are immutable — re-registering the same(project, domain, name, version) tuple returns ALREADY_EXISTS.
Globally unique task identifier. Contains
project, domain, name, and version fields.The task specification including the compiled closure with the task template.
The identifier of the created task as stored in FlyteAdmin.
GetTask
Fetches a task definition by its full identifier.Project name.
Domain name (e.g.
development, staging, production).Fully qualified task name.
Task version string.
ListTasks
Returns a paginated list of task definitions matching the given filters.Maximum number of items to return.
Pagination token from a prior response.
Filter expression (e.g.
eq(phase,SUCCEEDED)).Field to sort by.
ListTaskIds
Returns a list of unique task name identifiers for a project/domain — without version information.Workflow management
CreateWorkflow
Registers a compiled workflow definition. Like tasks, workflow versions are immutable.Workflow identifier with
project, domain, name, and version.The workflow spec containing the compiled workflow closure.
The stored workflow identifier.
GetWorkflow
ListWorkflows
ListWorkflowIds
Returns unique workflow name identifiers for a project/domain without version information.Launch plan management
Launch plans are versioned configurations that define how a workflow should be launched: which inputs to fix, any schedules, and notification settings.CreateLaunchPlan
Launch plan identifier.
Spec including the workflow identifier, fixed inputs, default inputs, and optional schedule.
GetLaunchPlan
GetActiveLaunchPlan
At most one version of a launch plan can beACTIVE at any time. This method fetches the currently active version.
UpdateLaunchPlan
Activates or deactivates a launch plan version. Activating a version automatically deactivates the previously active version and updates any associated schedules.Launch plan identifier.
INACTIVE (0) or ACTIVE (1).ListActiveLaunchPlans
Execution management
CreateExecution
Launches a new workflow execution from a launch plan.Target project for the execution.
Target domain for the execution.
Optional execution name. If omitted, a unique name is auto-generated.
Execution specification including the launch plan reference and input values.
The
(project, domain, name) identifier for the created execution.GetExecution
Fetches a workflow execution by its identifier.Execution identifier.
The original execution spec.
Runtime state including
phase, started_at, duration, and error (if failed).ListExecutions
Returns a paginated list of workflow executions for a project/domain.Filter expression. Example:
eq(phase,SUCCEEDED) or gte(started_at,2024-01-01T00:00:00Z).Page size. Default is 100.
Pagination token.
UpdateExecution
Updates mutable metadata on an execution (e.g. tags, state overrides).TerminateExecution
Aborts an in-progress execution. Running nodes are interrupted and resources are cleaned up.Execution to terminate.
Human-readable reason for termination.
RelaunchExecution
Creates a new execution identical to an existing one. All inputs and configuration are copied.RecoverExecution
Recreates a previously-failed execution, resuming from the last known failure point. Inputs and version cannot be changed in recover mode.RecoverExecution is useful after system failures (K8s cluster loss, platform bugs, retry exhaustion). Flyte replays completed nodes from cache and only re-executes failed nodes.GetExecutionData
Fetches the raw input and output data for an execution.GetExecutionMetrics
Returns runtime performance metrics for an execution.Node and task execution
GetNodeExecution
Fetches a single node execution within a workflow execution.The node ID from the workflow graph (e.g.
n0, n1, start-node).ListNodeExecutions
GetNodeExecutionData
Fetches input/output data for a specific node execution.GetTaskExecution
Fetches a single task execution attempt. Task executions are identified by node execution ID plus a retry attempt number.ListTaskExecutions
GetTaskExecutionData
Event recording
FlytePropeller reports phase transitions using these event endpoints. These are typically called by the execution engine, not external clients.| Method | HTTP | Description |
|---|---|---|
CreateWorkflowEvent | POST /api/v1/events/workflows | Record a workflow phase transition |
CreateNodeEvent | POST /api/v1/events/nodes | Record a node phase transition |
CreateTaskEvent | POST /api/v1/events/tasks | Record a task phase transition |
Project and domain management
RegisterProject
Registers a new project in the Flyte deployment.Unique project identifier (lowercase alphanumeric, hyphens allowed).
Human-readable project name.
Project description.
GetProject / ListProjects / UpdateProject
GetDomains
Returns the list of registered domains. Domains are global across all projects.Matchable attributes
Matchable attributes allow overriding resource configuration at the project, project-domain, or workflow level:| Method | HTTP |
|---|---|
UpdateProjectDomainAttributes | PUT /api/v1/project_domain_attributes/{project}/{domain} |
GetProjectDomainAttributes | GET /api/v1/project_domain_attributes/{project}/{domain} |
DeleteProjectDomainAttributes | DELETE /api/v1/project_domain_attributes/{project}/{domain} |
UpdateProjectAttributes | PUT /api/v1/project_attributes/{project} |
UpdateWorkflowAttributes | PUT /api/v1/workflow_attributes/{project}/{domain}/{workflow} |
ListMatchableAttributes | GET /api/v1/matchable_attributes |