Prefect SLAs API
The SLAs API from Prefect — 9 operation(s) for slas.
The SLAs API from Prefect — 9 operation(s) for slas.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/prefect-slas-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Prefect Cloud Account Billing SL As API
description: Prefect Cloud REST API documentation.
version: 0.8.4
tags:
- name: SLAs
paths:
/api/accounts/{account_id}/workspaces/{workspace_id}/slas/:
post:
tags:
- SLAs
summary: Create Sla
operationId: create_sla_api_accounts__account_id__workspaces__workspace_id__slas__post
parameters:
- name: account_id
in: path
required: true
schema:
type: string
format: uuid
title: Account Id
- name: workspace_id
in: path
required: true
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Workspace Id
requestBody:
required: true
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/TimeToCompletionSla'
- $ref: '#/components/schemas/FrequencySla'
- $ref: '#/components/schemas/FreshnessSla'
- $ref: '#/components/schemas/LatenessSla'
title: Sla
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceLevelAgreement'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/accounts/{account_id}/workspaces/{workspace_id}/slas/apply-resource-slas/{resource_id}:
post:
tags:
- SLAs
summary: Apply Slas
operationId: apply_slas_api_accounts__account_id__workspaces__workspace_id__slas_apply_resource_slas__resource_id__post
parameters:
- name: workspace_id
in: path
required: true
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Workspace Id
- name: resource_id
in: path
required: true
schema:
type: string
title: Resource Id
- name: account_id
in: path
required: true
schema:
type: string
format: uuid
title: Account Id
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
anyOf:
- $ref: '#/components/schemas/TimeToCompletionSla'
- $ref: '#/components/schemas/FrequencySla'
- $ref: '#/components/schemas/FreshnessSla'
- $ref: '#/components/schemas/LatenessSla'
title: Slas
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/ServiceLevelAgreement'
title: Response Apply Slas Api Accounts Account Id Workspaces Workspace Id Slas Apply Resource Slas Resource Id Post
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/accounts/{account_id}/workspaces/{workspace_id}/slas/filter:
post:
tags:
- SLAs
summary: Read Slas
operationId: read_slas_api_accounts__account_id__workspaces__workspace_id__slas_filter_post
parameters:
- name: account_id
in: path
required: true
schema:
type: string
format: uuid
title: Account Id
- name: workspace_id
in: path
required: true
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Workspace Id
- name: sort
in: query
required: false
schema:
$ref: '#/components/schemas/SlaSort'
default: NAME_ASC
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Body_read_slas_api_accounts__account_id__workspaces__workspace_id__slas_filter_post'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ServiceLevelAgreement'
title: Response Read Slas Api Accounts Account Id Workspaces Workspace Id Slas Filter Post
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/accounts/{account_id}/workspaces/{workspace_id}/slas/by-owner/{owner_resource}:
post:
tags:
- SLAs
summary: Read Slas By Owner Resource
operationId: read_slas_by_owner_resource_api_accounts__account_id__workspaces__workspace_id__slas_by_owner__owner_resource__post
parameters:
- name: account_id
in: path
required: true
schema:
type: string
format: uuid
title: Account Id
- name: workspace_id
in: path
required: true
schema:
type: string
format: uuid
title: Workspace Id
- name: owner_resource
in: path
required: true
schema:
type: string
title: Owner Resource
- name: sort
in: query
required: false
schema:
$ref: '#/components/schemas/SlaSort'
default: NAME_ASC
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Body_read_slas_by_owner_resource_api_accounts__account_id__workspaces__workspace_id__slas_by_owner__owner_resource__post'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ServiceLevelAgreement'
title: Response Read Slas By Owner Resource Api Accounts Account Id Workspaces Workspace Id Slas By Owner Owner Resource Post
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/accounts/{account_id}/workspaces/{workspace_id}/slas/{sla_id}:
get:
tags:
- SLAs
summary: Read Sla
operationId: read_sla_api_accounts__account_id__workspaces__workspace_id__slas__sla_id__get
parameters:
- name: account_id
in: path
required: true
schema:
type: string
format: uuid
title: Account Id
- name: workspace_id
in: path
required: true
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Workspace Id
- name: sla_id
in: path
required: true
schema:
type: string
format: uuid
title: Sla Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceLevelAgreement'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
patch:
tags:
- SLAs
summary: Update Sla
operationId: update_sla_api_accounts__account_id__workspaces__workspace_id__slas__sla_id__patch
parameters:
- name: workspace_id
in: path
required: true
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Workspace Id
- name: sla_id
in: path
required: true
schema:
type: string
format: uuid
title: Sla Id
- name: account_id
in: path
required: true
schema:
type: string
format: uuid
title: Account Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceLevelAgreementPartialUpdate'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: boolean
title: Response Update Sla Api Accounts Account Id Workspaces Workspace Id Slas Sla Id Patch
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- SLAs
summary: Delete Sla
operationId: delete_sla_api_accounts__account_id__workspaces__workspace_id__slas__sla_id__delete
parameters:
- name: workspace_id
in: path
required: true
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Workspace Id
- name: sla_id
in: path
required: true
schema:
type: string
format: uuid
title: Sla Id
- name: account_id
in: path
required: true
schema:
type: string
format: uuid
title: Account Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: boolean
title: Response Delete Sla Api Accounts Account Id Workspaces Workspace Id Slas Sla Id Delete
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/accounts/{account_id}/workspaces/{workspace_id}/slas/flow-runs:
post:
tags:
- SLAs
summary: Read Flow Runs
description: "Read all flow runs that have an SLA violation event within the given horizon.\n\nArgs:\n sla_ids (list[UUID]): The IDs of the SLAs to read flow runs for.\n since (datetime): The date to read flow runs since.\n workspace_id (UUID, optional): The ID of the workspace to read flow runs for. Defaults to Path(...).\n account_id (UUID, optional): The ID of the account to read flow runs for. Defaults to Path(...).\n client (AsyncClient, optional): The ClickHouse client to use. Defaults to Depends(clickhouse_client).\n\nReturns:\n Sequence[str]: _description_"
operationId: read_flow_runs_api_accounts__account_id__workspaces__workspace_id__slas_flow_runs_post
parameters:
- name: workspace_id
in: path
required: true
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Workspace Id
- name: account_id
in: path
required: true
schema:
type: string
format: uuid
title: Account Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Body_read_flow_runs_api_accounts__account_id__workspaces__workspace_id__slas_flow_runs_post'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: array
items:
type: string
title: Response Read Flow Runs Api Accounts Account Id Workspaces Workspace Id Slas Flow Runs Post
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/accounts/{account_id}/workspaces/{workspace_id}/slas/default:
post:
tags:
- SLAs
summary: Create Default Sla
operationId: create_default_sla_api_accounts__account_id__workspaces__workspace_id__slas_default_post
parameters:
- name: workspace_id
in: path
required: true
schema:
type: string
format: uuid
title: Workspace Id
- name: account_id
in: path
required: true
schema:
type: string
format: uuid
title: Account Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Body_create_default_sla_api_accounts__account_id__workspaces__workspace_id__slas_default_post'
responses:
'201':
description: Successful Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Automation'
title: Response Create Default Sla Api Accounts Account Id Workspaces Workspace Id Slas Default Post
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/accounts/{account_id}/workspaces/{workspace_id}/slas/default/list:
get:
tags:
- SLAs
summary: Read Default Sla List
operationId: read_default_sla_list_api_accounts__account_id__workspaces__workspace_id__slas_default_list_get
parameters:
- name: account_id
in: path
required: true
schema:
type: string
format: uuid
title: Account Id
- name: workspace_id
in: path
required: true
schema:
type: string
format: uuid
title: Workspace Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Automation'
title: Response Read Default Sla List Api Accounts Account Id Workspaces Workspace Id Slas Default List Get
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/accounts/{account_id}/workspaces/{workspace_id}/slas/default/{sla_severity}:
get:
tags:
- SLAs
summary: Read Default Sla
operationId: read_default_sla_api_accounts__account_id__workspaces__workspace_id__slas_default__sla_severity__get
parameters:
- name: sla_severity
in: path
required: true
schema:
$ref: '#/components/schemas/SlaSeverity'
- name: account_id
in: path
required: true
schema:
type: string
format: uuid
title: Account Id
- name: workspace_id
in: path
required: true
schema:
type: string
format: uuid
title: Workspace Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/Automation'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- SLAs
summary: Delete Default Sla
operationId: delete_default_sla_api_accounts__account_id__workspaces__workspace_id__slas_default__sla_severity__delete
parameters:
- name: sla_severity
in: path
required: true
schema:
$ref: '#/components/schemas/SlaSeverity'
- name: workspace_id
in: path
required: true
schema:
type: string
format: uuid
title: Workspace Id
- name: account_id
in: path
required: true
schema:
type: string
format: uuid
title: Account Id
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
PauseAutomation:
properties:
type:
type: string
const: pause-automation
title: Type
default: pause-automation
source:
type: string
enum:
- selected
- inferred
title: Source
description: Whether this Action applies to a specific selected automation (given by `automation_id`), or to an automation that is inferred from the triggering event. If the source is 'inferred', the `automation_id` may not be set. If the source is 'selected', the `automation_id` must be set.
default: selected
automation_id:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Automation Id
description: The identifier of the automation to act on
type: object
title: PauseAutomation
description: Pauses a Work Queue
ResumeSchedule:
properties:
type:
type: string
const: resume-schedule-for-flow-run
title: Type
default: resume-schedule-for-flow-run
deployment_id:
type: string
format: uuid
title: Deployment Id
description: The identifier of the deployment
schedule_id:
type: string
format: uuid
title: Schedule Id
description: The identifier of the schedule
type: object
required:
- deployment_id
- schedule_id
title: ResumeSchedule
description: Resumes the given schedule
ResourceSpecification:
additionalProperties:
anyOf:
- type: string
- items:
type: string
type: array
type: object
title: ResourceSpecification
description: 'A specification that may match zero, one, or many resources, used to target or
select a set of resources in a query or automation. A resource must match at least
one value of all of the provided labels'
ResumeWorkPool:
properties:
type:
type: string
const: resume-work-pool
title: Type
default: resume-work-pool
source:
type: string
enum:
- selected
- inferred
title: Source
description: Whether this Action applies to a specific selected work pool (given by `work_pool_id`), or to a work pool that is inferred from the triggering event. If the source is 'inferred', the `work_pool_id` may not be set. If the source is 'selected', the `work_pool_id` must be set.
default: selected
work_pool_id:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Work Pool Id
description: The identifier of the work pool to pause
type: object
title: ResumeWorkPool
description: Resumes a Work Pool
ResumeAutomation:
properties:
type:
type: string
const: resume-automation
title: Type
default: resume-automation
source:
type: string
enum:
- selected
- inferred
title: Source
description: Whether this Action applies to a specific selected automation (given by `automation_id`), or to an automation that is inferred from the triggering event. If the source is 'inferred', the `automation_id` may not be set. If the source is 'selected', the `automation_id` must be set.
default: selected
automation_id:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Automation Id
description: The identifier of the automation to act on
type: object
title: ResumeAutomation
description: Resumes a Work Queue
SuspendFlowRun:
properties:
type:
type: string
const: suspend-flow-run
title: Type
default: suspend-flow-run
force:
type: boolean
title: Force
description: Force the state change, bypassing orchestration rules
default: false
type: object
title: SuspendFlowRun
description: Suspends a flow run associated with the trigger
StateType:
type: string
enum:
- SCHEDULED
- PENDING
- RUNNING
- COMPLETED
- FAILED
- CANCELLED
- CRASHED
- PAUSED
- CANCELLING
title: StateType
description: Enumeration of state types.
DeclareIncident:
properties:
type:
type: string
const: declare-incident
title: Type
default: declare-incident
type: object
title: DeclareIncident
description: Declares an incident for the triggering event
CallWebhook:
properties:
type:
type: string
const: call-webhook
title: Type
default: call-webhook
block_document_id:
type: string
format: uuid
title: Block Document Id
description: The identifier of the webhook block to use
payload:
type: string
title: Payload
description: An optional templatable payload to send when calling the webhook.
default: ''
type: object
required:
- block_document_id
title: CallWebhook
description: Call a webhook when an Automation is triggered.
TimeToCompletionSla:
properties:
name:
type: string
maxLength: 5000
title: Name
description: The name of this SLA
severity:
$ref: '#/components/schemas/SlaSeverity'
description: The severity of the SLA
default: high
enabled:
anyOf:
- type: boolean
- type: 'null'
title: Enabled
description: Whether this SLA will be evaluated
owner_resource:
anyOf:
- type: string
maxLength: 5000
- type: 'null'
title: Owner Resource
description: The resource that owns this SLA
duration:
type: integer
title: Duration
description: The maximum flow run duration in seconds allowed before the SLA is violated.
additionalProperties: false
type: object
required:
- name
- duration
title: TimeToCompletionSla
description: An SLA that triggers when a flow run takes longer than the specified duration.
SlaFilter:
properties:
operator:
$ref: '#/components/schemas/prefect_cloud__orion__schemas__filters__Operator'
description: Operator for combining filter criteria. Defaults to 'and_'.
default: and_
name:
anyOf:
- $ref: '#/components/schemas/AutomationFilterName'
- type: 'null'
description: Filter criteria for `Automation.name`
created:
anyOf:
- $ref: '#/components/schemas/AutomationFilterCreated'
- type: 'null'
description: Filter criteria for `Automation.created`
tags:
anyOf:
- $ref: '#/components/schemas/AutomationFilterTags'
- type: 'null'
description: Filter criteria for `Automation.tags`
severity:
anyOf:
- type: string
- type: 'null'
title: Severity
description: Filter criteria for `Automation.severity`
additionalProperties: false
type: object
title: SlaFilter
AutomationFilterCreated:
properties:
before_:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Before
description: Only include automations created before this datetime
additionalProperties: false
type: object
title: AutomationFilterCreated
description: Filter by `Automatio.created`.
ChangeFlowRunState:
properties:
type:
type: string
const: change-flow-run-state
title: Type
default: change-flow-run-state
force:
type: boolean
title: Force
description: Force the state change, bypassing orchestration rules
default: false
name:
anyOf:
- type: string
- type: 'null'
title: Name
description: The name of the state to change the flow run to
state:
$ref: '#/components/schemas/StateType'
description: The type of the state to change the flow run to
message:
anyOf:
- type: string
- type: 'null'
title: Message
description: An optional message to associate with the state change
type: object
required:
- state
title: ChangeFlowRunState
description: Changes the state of a flow run associated with the trigger
MetricTriggerOperator:
type: string
enum:
- <
- <=
- '>'
- '>='
title: MetricTriggerOperator
PauseWorkQueue:
properties:
type:
type: string
const: pause-work-queue
title: Type
default: pause-work-queue
source:
type: string
enum:
- selected
- inferred
title: Source
description: Whether this Action applies to a specific selected work queue (given by `work_queue_id`), or to a work queue that is inferred from the triggering event. If the source is 'inferred', the `work_queue_id` may not be set. If the source is 'selected', the `work_queue_id` must be set.
default: selected
work_queue_id:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Work Queue Id
description: The identifier of the work queue to pause
type: object
title: PauseWorkQueue
description: Pauses a Work Queue
CancelFlowRun:
properties:
type:
type: string
const: cancel-flow-run
title: Type
default: cancel-flow-run
force:
type: boolean
title: Force
description: Force the state change, bypassing orchestration rules
default: false
type: object
title: CancelFlowRun
description: Cancels a flow run associated with the trigger
PauseWorkPool:
properties:
type:
type: string
const: pause-work-pool
title: Type
default: pause-work-pool
source:
type: string
enum:
- selected
- inferred
title: Source
description: Whether this Action applies to a specific selected work pool (given by `work_pool_id`), or to a work pool that is inferred from the triggering event. If the source is 'inferred', the `work_pool_id` may not be set. If the source is 'selected', the `work_pool_id` must be set.
default: selected
work_pool_id:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Work Pool Id
description: The identifier of the work pool to pause
type: object
title: PauseWorkPool
description: Pauses a Work Pool
EventTrigger:
properties:
type:
type: string
const: event
title: Type
default: event
id:
type: string
format: uuid
title: Id
description: The unique ID of this trigger
match:
anyOf:
- $ref: '#/components/schemas/ResourceSpecification'
- additionalProperties:
anyOf:
- type: string
- items:
type: string
type: array
type: object
title: Match
description: Labels for resources which this trigger will match.
match_related:
anyOf:
- $ref: '#/components/schemas/ResourceSpecification'
- additionalProperties:
anyOf:
- type: string
- items:
type: string
type: array
type: object
- items:
anyOf:
- $ref: '#/components/schemas/ResourceSpecification'
- additionalProperties:
anyOf:
- type: string
- items:
type: string
type: array
type: object
type: array
title: Match Related
description: Labels for related resources which this trigger will match.
after:
items:
type: string
type: array
uniqueItems: true
title: After
description: The event(s) which must first been seen to fire this trigger. If empty, then fire this trigger immediately. Events may include trailing wildcards, like `prefect.flow-run.*`
expect:
items:
type: string
type: array
uniqueItems: true
title: Expect
description: The event(s) this trigger is expecting to see. If empty, this trigger will match any event. Events may include trailing wildcards, like `prefect.flow-run.*`
for_each:
items:
type: string
type: array
uniqueItems: true
title: For Each
description: 'Evaluate the trigger separately for each distinct value of these labels on the resource. By default, labels refer to the primary resource of the triggering event. You may also refer to labels from related resources by specifying `related:<role>:<label>`. This will use the value of that label for the first related resource in that role. For example, `"for_each": ["related:flow:prefect.resource.id"]` would evaluate the trigger for each flow.'
posture:
type: string
enum:
- Reactive
- Proactive
title: Posture
description: The posture of this trigger, either Reactive or Proactive. Reactive triggers respond to the _presence_ of the expected events, while Proactive triggers respond to the _absence_ of those expected events.
threshold:
type: integer
title: Threshold
description: The number of events required for this trigger to fire (for Reactive triggers), or the number of events expected (for Proactive triggers)
default: 1
within:
type: number
title: Within
description: The time period over which the events must occur. For Reactive triggers, this may be as low as 0 seconds, but must be at least 10 seconds for Proactive triggers
default: 0.0
type: object
required:
- posture
title: EventTrigger
description: 'A trigger that fires based on the presence or absence of events within a given
period of time.'
SlaSort:
type: string
enum:
- CREATED_DESC
- UPDATED_DESC
- NAME_ASC
- NAME_DESC
title: SlaSort
description: Defines SLAs sorting options.
ResumeWorkQueue:
properties:
type:
type: string
const: resume-work-queue
title: Type
default: resume-work-queue
source:
type: string
e
# --- truncated at 32 KB (70 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/prefect/refs/heads/main/openapi/prefect-slas-api-openapi.yml