Pulumi Workflows API
The Workflows API from Pulumi — 2 operation(s) for workflows.
The Workflows API from Pulumi — 2 operation(s) for workflows.
openapi: 3.0.3
info:
description: APIs and Definitions for the Pulumi Cloud product.
title: Pulumi APIs AccessTokens Workflows API
version: 1.0.0
tags:
- name: Workflows
paths:
/api/orgs/{orgName}/agent-pools:
get:
description: Returns all agent pools configured for an organization. Agent pools enable self-hosted deployment agents, allowing organizations to run Pulumi Deployments on their own infrastructure for accessing private networks, meeting compliance requirements, or using custom execution environments. Each pool in the response includes its ID, name, and configuration details.
operationId: ListOrgAgentPool
parameters:
- description: The organization name
in: path
name: orgName
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ListAgentPoolsResponse'
description: OK
'403':
description: Forbidden
summary: ListOrgAgentPool
tags:
- Workflows
post:
description: Creates a new agent pool for an organization. Agent pools enable self-hosted deployment agents, allowing organizations to run Pulumi Deployments on their own infrastructure rather than Pulumi-managed infrastructure. This is useful for accessing private networks, meeting compliance requirements, or using custom execution environments. The response includes an access token (agent pool secret) that self-hosted agents use to authenticate when polling for deployment work. This token is only returned once at creation time and cannot be retrieved later.
operationId: CreateOrgAgentPool
parameters:
- description: The organization name
in: path
name: orgName
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrgAgentPoolRequest'
x-originalParamName: body
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAccessTokenResponse'
description: OK
'400':
description: Metadata object store endpoint is not configured
'403':
description: Forbidden
summary: CreateOrgAgentPool
tags:
- Workflows
/api/orgs/{orgName}/agent-pools/{poolId}:
delete:
description: Deletes an agent pool from an organization. If the agent pool is currently referenced by any stack's deployment settings, the deletion will fail with a 400 error unless the 'force' query parameter is set to true. Force-deleting a pool that is in use will cause affected stacks to fall back to Pulumi-managed infrastructure for future deployments. Returns 204 No Content on success.
operationId: DeleteOrgAgentPool
parameters:
- description: The organization name
in: path
name: orgName
required: true
schema:
type: string
- description: The agent pool identifier
in: path
name: poolId
required: true
schema:
type: string
- description: Force the operation even if the pool is in use
in: query
name: force
schema:
type: boolean
responses:
'204':
description: No Content
'400':
description: Agent pool is in use
'403':
description: Forbidden
'404':
description: AgentPool
summary: DeleteOrgAgentPool
tags:
- Workflows
get:
description: Returns the details of a specific agent pool, including its name, ID, creation timestamp, and configuration. Agent pools enable self-hosted deployment agents that run Pulumi Deployments on organization-managed infrastructure. The pool ID can be referenced in stack deployment settings to route deployments to self-hosted agents instead of Pulumi-managed infrastructure.
operationId: GetAgentPool
parameters:
- description: The organization name
in: path
name: orgName
required: true
schema:
type: string
- description: The agent pool identifier
in: path
name: poolId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AgentPoolDetail'
description: OK
'403':
description: Forbidden
'404':
description: AgentPool
summary: GetAgentPool
tags:
- Workflows
patch:
description: Updates an existing agent pool's configuration for an organization. This can be used to modify the pool's name or other configurable properties. The request body uses the same format as CreateOrgAgentPool. Only provided fields are updated; omitted fields remain unchanged.
operationId: PatchOrgAgentPool
parameters:
- description: The organization name
in: path
name: orgName
required: true
schema:
type: string
- description: The agent pool identifier
in: path
name: poolId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrgAgentPoolRequest'
x-originalParamName: body
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PatchOrgAgentPoolResponse'
description: OK
'403':
description: Forbidden
'404':
description: AgentPool
summary: PatchOrgAgentPool
tags:
- Workflows
components:
schemas:
ListAgentPoolsResponse:
description: Response containing a list of agent pools.
properties:
agentPools:
description: The list of agent pools
items:
$ref: '#/components/schemas/AgentPool'
type: array
x-order: 1
defaultAgentPoolID:
description: The ID of the organization's default agent pool. Omitted if the organization uses the Pulumi Hosted Pool.
type: string
x-order: 2
required:
- agentPools
type: object
PatchOrgAgentPoolResponse:
description: Response body after partially updating an organization's agent pool.
properties:
description:
description: The updated description of the agent pool after the patch operation.
type: string
x-order: 2
name:
description: The updated name of the agent pool after the patch operation.
type: string
x-order: 1
required:
- description
- name
type: object
CreateAccessTokenResponse:
description: 'CreateAccessTokenResponse is the shape of the response after creating a token. The ID is an opaque ID that can be used
in future CRUD operations and the Token is the actual token value (that is presented in the authorization header).'
properties:
id:
description: The unique identifier
type: string
x-order: 1
tokenValue:
description: The token value
type: string
x-order: 2
required:
- id
- tokenValue
type: object
AgentPoolDetail:
description: Detailed information about an agent pool.
properties:
agents:
description: The agents
items:
$ref: '#/components/schemas/DeploymentAgentMetadata'
type: array
x-order: 5
created:
description: The creation timestamp
format: int64
type: integer
x-order: 1
description:
description: The description
type: string
x-order: 4
id:
description: The unique identifier
type: string
x-order: 2
name:
description: The name
type: string
x-order: 3
required:
- agents
- created
- description
- id
- name
type: object
AgentPool:
description: A pool of self-hosted deployment agents for running Pulumi Deployments.
properties:
created:
description: Unix epoch timestamp (seconds) when the agent pool was created.
format: int64
type: integer
x-order: 1
description:
description: User-provided description of the agent pool's purpose.
type: string
x-order: 4
id:
description: Unique identifier for this agent pool.
type: string
x-order: 2
isDefault:
description: Whether this pool is the organization's default workflow runner pool.
type: boolean
x-order: 8
lastDeployment:
description: Unix epoch timestamp (seconds) of the most recent deployment executed by this pool. Null if no deployments have run.
format: int64
type: integer
x-order: 7
lastSeen:
description: Unix epoch timestamp (seconds) when any agent in the pool last reported a heartbeat.
format: int64
type: integer
x-order: 5
name:
description: Human-readable name for this agent pool.
type: string
x-order: 3
status:
description: Aggregate status of agents in the pool (e.g. idle, busy, offline).
enum:
- online
- offline
type: string
x-order: 6
x-pulumi-model-property:
enumTypeName: DeploymentAgentStatus
enumComments: DeploymentAgentStatus is an enum representing the online/offline status of a deployment agent.
required:
- created
- description
- id
- isDefault
- lastSeen
- name
- status
type: object
CreateOrgAgentPoolRequest:
description: Request body for create org agent pool.
properties:
description:
description: The description
type: string
x-order: 2
name:
description: The name
type: string
x-order: 1
required:
- description
- name
type: object
DeploymentAgentMetadata:
description: DeploymentAgentMetadata contains metadata about a deployment agent, including version, platform, and connectivity information.
properties:
hostname:
description: The hostname of the machine running the agent.
type: string
x-order: 3
ip:
description: The IP address of the agent.
type: string
x-order: 4
lastSeen:
description: The Unix timestamp when the agent was last seen.
format: int64
type: integer
x-order: 6
pid:
description: The process ID of the agent.
type: string
x-order: 5
platform:
description: The platform the agent is running on.
type: string
x-order: 2
status:
description: The current status of the deployment agent.
enum:
- online
- offline
type: string
x-order: 7
x-pulumi-model-property:
enumTypeName: DeploymentAgentStatus
enumComments: DeploymentAgentStatus is an enum representing the online/offline status of a deployment agent.
version:
description: The version of the deployment agent.
type: string
x-order: 1
required:
- hostname
- ip
- lastSeen
- pid
- platform
- status
- version
type: object