Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: ESPER API REFERENCE pipelines_Pipeline Runs API
x-logo:
url: esper-logo-white.svg
backgroundColor: '#141418'
altText: Logo
description: '# Introduction
Welcome to Esper’s API documentation. The Esper API allows users to accomplish operations outside of the console. Some common uses for our APIs include observing device information and console activity, installing and updating apps, uploading files, and sending files to devices. Our users have also used the API to automate app updates, perform bulk actions, and more. Esper API endpoints use REST-based architecture and return JSON responses. See our documentation for:
* Getting started guides
* Commonly used API examples
* API command examples
* Automated Script examples
* And more
# Authentication
You need to create an API Key to interact with our APIs. Learn more about generating an API Key. You can also learn more about Esper and sign up for an account at esper.io/signup. Some endpoints also require an Enterprise ID. This ID can be found in the API Management section of the Esper console. # Lifecycle Labels
Esper uses lifecycle labels to communicate the support status of each API endpoint. Use the following table to understand what each label means and how to respond. Badge
What it means
Recommended action
Stable
This endpoint is fully supported and safe for production use. No action needed. Beta
This endpoint is publicly available but may change. It is not recommended for production integrations. Use with caution. Monitor the API changelog for updates before relying on this endpoint. Legacy
This endpoint uses an older architecture and is still supported, but a newer equivalent exists. It is not recommended for new integrations. Plan migration to the recommended replacement when possible. See the endpoint description for the alternative. Deprecated
This endpoint has stopped being supported. A removal date may be added at a later time. A replacement is available or the feature is entirely retired. Migrate before the removal date listed in the endpoint description. Do not use this endpoint in new integrations. # Pagination
Responses may be paginated. Use the following parameters to query the data. A full list of parameters can be found on the endpoint’s documentation page. Parameter
Data Type
Explanation
limit
integer
Limit the data returned. Default = 20. offset
integer
Offset to the first item returned. Default = 0. ordering
string
Order the results set by the field name. Varies by endpoint. next
string
Paginate to the next response set. previous
string
Paginate to the last set response. # Errors
We use standard HTTP status codes for success or failure. A typical error response may look something like this:
```json
{
"errors": [],
"message": "error message",
"status": 400
}
```
* `errors` - List of error details
* `message` - Error description
* `status` - HTTP status code
Some common status codes and messages are:
Number
Message
Explanation
200
OK
The request succeeded. 201
Resource creation
A resource was created. 401
Unauthorized
The API key is invalid. 404
Not found
The resource was not found. 429
Rate limit exceeded
Too many requests. Wait a moment and try again. 500
Server error
Internal error. Wait a moment and try again. If the issue persists, contact Esper. See how our systems are doing by checking our status page. # Rate Limits
To ensure quality of service for all customers, we enforce rate limits for API requests. Most customers won’t hit this limit with normal use. In case you experience 429 or rate limit exceeded errors, we recommend the following:
* Try sending requests in batches. * Begin with about 20 requests at a time and building up from there. * Ensure your scripts are efficient and don’t contain redundant calls. * Reach out to your account manager to discuss your options.'
termsOfService: https://esper.io/terms-of-service
contact:
email: developer@esper.io
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
version: 1.0.0
x-prefix-tag: esper cloud api
servers:
- url: https://{foo}-api.esper.cloud/api
variables:
foo:
default: develop
description: Custom end point
tags:
- name: pipelines_Pipeline Runs
description: 'APIs to manage Pipeline Runs. Pipeline run status descriptions
* PENDING - Pipeline run created.
* QUEUED - Pipeline run queued for processing.
* PROCESSING - Pipeline run received by scheduler for processing. (Processing a pipeline involves performing the operations required before starting a pipeline)
* RUNNING - Pipeline run has started running.
* WAITING - Pipeline run is waiting for an action (manual/automatic).
* COMPLETE - The pipeline run has completed processing i.e. All stage runs are processed. A complete pipeline run can move to success or failure.
* SUCCESS - A completed pipeline run moves to success if all stage runs are successful.
* FAILURE - A completed pipeline run moves to failure if all stage runs are not successful.
* CANCELLED - Pipeline run is cancelled by the user.
* TIMEOUT - The pipeline run has a timed out. This happens when the pipeline has not completed processing even after the timeout period (Default 21 days).
* INVALID - A pipeline run moves to invalid state when Pipeline run has no stageruns i.e pipeline has zero stages.'
x-displayName: Pipeline Runs
paths:
/pipelines/v0/runs/:
get:
description: 'Retrieves all Pipeline Runs across the enterprise, with optional filtering.
Returns Pipeline Run records for every pipeline in the enterprise, rather than scoped to a single pipeline, and supports filtering by status and pipeline name.
**About Pipeline Runs (Enterprise-wide)**
A Pipeline Run is a single execution instance of a Pipeline. This enterprise-wide endpoint is the broadest view of pipeline activity, useful for monitoring or dashboarding across all pipelines rather than checking one at a time.
**Key Fields / Query Parameters**
- `status` — Filter runs by their current status (e.g., pending, running, success, failure)
- `pipeline_name` — Filter runs by the name of the parent pipeline
- `ordering` — Field to sort results by'
x-badges:
- name: Stable
color: green
summary: Get all Runs for the Pipelines in the Enterprise
security:
- pipelines_SCAPIAuthToken: []
operationId: getAllPipelineRuns
tags:
- pipelines_Pipeline Runs
parameters:
- in: query
name: status
description: Filter by pipeline run status
schema:
type: string
enum:
- pending
- queued
- processing
- running
- waiting
- complete
- success
- failure
- cancelled
- invalid
- timeout
- in: query
name: pipeline_name
description: Filter by pipeline name
schema:
type: string
- in: query
name: ordering
description: Sorting pipelines runs based on the field name
schema:
type: string
enum:
- run_number
- -run_number
- status
- -status
- pipeline__name
- -pipeline__name
- started_at
- -started_at
- ended_at
- -ended_at
responses:
'200':
description: All Runs for the Pipelines in the Enterprise
content:
application/json:
schema:
type: object
properties:
code:
type: integer
message:
type: string
content:
type: object
properties:
count:
type: integer
previous:
type: string
next:
type: string
results:
type: array
items:
$ref: '#/components/schemas/pipelines_PipelineRun'
'401':
description: Pipeline run get error
content:
application/json:
schema:
$ref: '#/components/schemas/pipelines_Error_401_Unauthorized'
/pipelines/v0/pipelines/{pipeline_id}/runs/:
get:
x-badges:
- name: Stable
color: green
summary: Get all Runs for the Pipeline
description: 'Lists all Pipeline Runs created for a given Pipeline.
Supports filtering by status and ordering by run_number, status, started_at, or ended_at (prefix a field with - for descending order).
**About Pipeline Runs**
Each time a Pipeline is executed it produces a Pipeline Run, which moves through PENDING (created) → QUEUED (queued for processing) → PROCESSING (scheduler preparing it) → RUNNING → WAITING (on a manual/automatic action) → COMPLETE (all Stage Runs processed), then SUCCESS or FAILURE. A run can also end as CANCELLED (user-cancelled), TIMEOUT (default 21 days), or INVALID (the pipeline has zero stages).
**Key Fields / Query Parameters**
- status — filter by run status (pending, queued, processing, running, waiting, complete, success, failure, cancelled, invalid, timeout)
- ordering — sort by run_number, status, started_at, or ended_at'
security:
- pipelines_SCAPIAuthToken: []
operationId: getPipelineRuns
tags:
- pipelines_Pipeline Runs
parameters:
- name: pipeline_id
in: path
description: ID of the Pipeline
required: true
schema:
type: string
- in: query
name: status
description: Filter by pipeline run status
schema:
type: string
enum:
- pending
- queued
- processing
- running
- waiting
- complete
- success
- failure
- cancelled
- invalid
- timeout
- in: query
name: ordering
description: Sorting pipelines runs based on the field name
schema:
type: string
enum:
- run_number
- -run_number
- status
- -status
- started_at
- -started_at
- ended_at
- -ended_at
responses:
'200':
description: All Runs for the Pipeline
content:
application/json:
schema:
type: object
properties:
code:
type: integer
message:
type: string
content:
type: object
properties:
count:
type: integer
previous:
type: string
next:
type: string
results:
type: array
items:
$ref: '#/components/schemas/pipelines_PipelineRun'
'401':
description: Pipeline run get error
content:
application/json:
schema:
$ref: '#/components/schemas/pipelines_Error_401_Unauthorized'
post:
x-badges:
- name: Stable
color: green
summary: Create a Pipeline Run
description: 'Triggers a new run of the specified Pipeline.
Creates a Pipeline Run for pipeline_id; the run starts in PENDING status and progresses through the scheduler before executing its Stages against their targeted devices.
**About Pipeline Runs**
Each time a Pipeline is executed it produces a Pipeline Run, which moves through PENDING → QUEUED → PROCESSING → RUNNING → WAITING → COMPLETE, then SUCCESS or FAILURE — or ends as CANCELLED, TIMEOUT (default 21 days), or INVALID (zero stages). Each Pipeline Run in turn produces one Stage Run per stage, which produces Target Runs for each targeted device.
**Common Use Cases**
- Kicking off a configured Pipeline (e.g. a multi-step device provisioning or update flow) on demand
- Re-running a Pipeline after fixing its Stages, Target Lists, or Operation Lists
**Workflow**
1. Configure the Pipeline''s Stages, Target Lists, and Operation Lists
2. Create a Pipeline Run to execute the pipeline
3. Track the run''s status (and its Stage Runs / Target Runs) through to SUCCESS or FAILURE'
security:
- pipelines_SCAPIAuthToken: []
operationId: createPipelineRun
tags:
- pipelines_Pipeline Runs
parameters:
- name: pipeline_id
in: path
description: ID of the Pipeline
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/pipelines_PipelineRun_POST'
responses:
'200':
description: Created Pipeline Run
content:
application/json:
schema:
type: object
properties:
code:
type: integer
message:
type: string
content:
$ref: '#/components/schemas/pipelines_PipelineRun'
'401':
description: Pipeline run create error
content:
application/json:
schema:
$ref: '#/components/schemas/pipelines_Error_401_Unauthorized'
/pipelines/v0/pipelines/{pipeline_id}/runs/{pipeline_run_id}/:
get:
x-badges:
- name: Stable
color: green
summary: Get Pipeline run by pipeline run id
description: 'Retrieves the details of a single Pipeline Run.
Returns the run''s status, run_number, status_meta, and timestamps (created_at, updated_at, started_at, ended_at) for the given pipeline_run_id.
**About Pipeline Runs**
A Pipeline Run tracks the execution of a Pipeline through statuses PENDING → QUEUED → PROCESSING → RUNNING → WAITING → COMPLETE, then SUCCESS or FAILURE — or CANCELLED, TIMEOUT (default 21 days), or INVALID (zero stages). It in turn produces one Stage Run per stage in the pipeline.'
security:
- pipelines_SCAPIAuthToken: []
operationId: getPipelineRun
tags:
- pipelines_Pipeline Runs
parameters:
- name: pipeline_id
in: path
description: ID of the Pipeline
required: true
schema:
type: string
- name: pipeline_run_id
in: path
description: Run Id of pipeline run
required: true
schema:
type: string
responses:
'200':
description: Get Pipeline run
content:
application/json:
schema:
type: object
properties:
code:
type: integer
message:
type: string
content:
$ref: '#/components/schemas/pipelines_PipelineRun'
'401':
description: Operation get error
content:
application/json:
schema:
$ref: '#/components/schemas/pipelines_Error_401_Unauthorized'
put:
x-badges:
- name: Stable
color: green
summary: Update a Pipeline Run
description: 'Updates a Pipeline Run for a specific pipeline.
Send a PUT request with a new status value to transition the run programmatically; the request body accepts a single status field using the same enum values as the run lifecycle (pending, queued, processing, running, waiting, complete, success, failure, cancelled, invalid, timeout), and the response returns the updated Pipeline Run object.
**About Pipeline Runs**
A Pipeline Run is the record created each time a Pipeline executes, progressing through Esper''s orchestration lifecycle from PENDING through QUEUED, PROCESSING, RUNNING, and WAITING to COMPLETE with a SUCCESS or FAILURE outcome (or CANCELLED, TIMEOUT after 21 days, or INVALID if the pipeline has zero stages). Each Pipeline Run produces one Stage Run per stage in the pipeline.
**Key Fields / Query Parameters**
- status — the lifecycle status to set on the run
**Common Use Cases**
- Cancel an in-progress Pipeline Run by setting status to cancelled'
operationId: updatePipelineRun
tags:
- pipelines_Pipeline Runs
security:
- pipelines_SCAPIAuthToken: []
parameters:
- name: pipeline_id
in: path
description: ID of the Pipeline
required: true
schema:
type: string
- name: pipeline_run_id
in: path
description: Run id of pipeline run
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
$ref: '#/components/schemas/pipelines_PipelineRun_PUT'
responses:
'200':
description: Updated Pipeline run information
content:
application/json:
schema:
type: object
properties:
code:
type: integer
message:
type: string
content:
$ref: '#/components/schemas/pipelines_PipelineRun'
'400':
description: Pipeline Run update error
content:
application/json:
schema:
$ref: '#/components/schemas/pipelines_Error_400_Bad_Data'
'401':
description: Pipeline Run update error
content:
application/json:
schema:
$ref: '#/components/schemas/pipelines_Error_401_Unauthorized'
delete:
x-badges:
- name: Stable
color: green
summary: Delete a Pipeline Run
description: 'Deletes a specific Pipeline Run. Only non-running pipelines can be deleted.
Removes the Pipeline Run identified by pipeline_run_id under the given pipeline_id.
**About Pipeline Runs**
A Pipeline Run is the record produced each time a Pipeline is executed, tracking status through PENDING, QUEUED, PROCESSING, RUNNING, WAITING, COMPLETE, and finally SUCCESS or FAILURE (or CANCELLED, TIMEOUT, INVALID).'
operationId: deletePipelineRun
tags:
- pipelines_Pipeline Runs
security:
- pipelines_SCAPIAuthToken: []
parameters:
- name: pipeline_id
in: path
description: ID of the Pipeline
required: true
schema:
type: string
- name: pipeline_run_id
in: path
description: Run id of pipeline run
required: true
schema:
type: string
responses:
'200':
description: Deleted Pipeline run information
content:
application/json:
schema:
type: object
properties:
code:
type: integer
message:
type: string
content:
$ref: '#/components/schemas/pipelines_PipelineRun'
'400':
description: Pipeline Run update error
content:
application/json:
schema:
$ref: '#/components/schemas/pipelines_Error_400_Bad_Data'
'401':
description: Pipeline Run update error
content:
application/json:
schema:
$ref: '#/components/schemas/pipelines_Error_401_Unauthorized'
components:
schemas:
pipelines_Error_401_Unauthorized:
type: object
properties:
code:
type: integer
format: int32
default: 401
message:
type: string
content:
type: object
required:
- code
- message
pipelines_PipelineRun_POST:
type: object
pipelines_PipelineRun:
type: object
properties:
id:
type: string
readOnly: true
enterprise_id:
type: string
readOnly: true
run_number:
type: integer
format: int32
readOnly: true
pipeline_id:
type: string
pipeline_name:
type: string
status:
type: string
enum:
- pending
- queued
- processing
- running
- waiting
- complete
- success
- failure
- cancelled
- invalid
- timeout
status_meta:
type: object
created_by:
type: number
format: int32
updated_by:
type: number
format: int32
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
started_at:
type: string
format: date-time
ended_at:
type: string
format: date-time
pipelines_PipelineRun_PUT:
type: object
properties:
status:
type: string
enum:
- pending
- queued
- processing
- running
- waiting
- complete
- success
- failure
- cancelled
- invalid
- timeout
pipelines_Error_400_Bad_Data:
type: object
properties:
code:
type: integer
format: int32
default: 400
message:
type: string
content:
type: object
required:
- code
- message
securitySchemes:
esper_cloud_api_apiKey:
type: http
scheme: bearer
description: "#### API KEY - Access Token\nAccess token for API is passed as authorization header in calls. You need to generate this from your Esper Console at `<domain>-api.esper.cloud` where foo is the sub-domain name you gave for your Esper Dev environment when you signed up for your Esper account. Please follow the instructions [in this Help article](https://help.esper.io/hc/en-us/articles/12656959508497) to generate an access token.\nOnce you have the access token, you need to send an authorization header as below\n\n```bash\n\n curl -X GET \\\n https://<domain>-api.esper.cloud/api/enterprise/<enterprise_id>/device/ \\\n -H 'Authorization: Bearer <ACCESS_TOKEN>' \\\n -H 'Content-Type: application/json' \\\n```\n\n> Please note the use of keyword **Bearer** before the token value.\n\n\nYou can read more about api key authentication [here](https://help.esper.io/hc/en-us/articles/12656959508497).\n"
pipelines_SCAPIAuthToken:
type: http
scheme: bearer
device_apiKey:
type: http
scheme: bearer
description: "#### API KEY - Access Token\nAccess token for API is passed as authorization header in calls. You need to generate this from your Esper Console at `<domain>-api.esper.cloud` where foo is the sub-domain name you gave for your Esper Dev environment when you signed up for your Esper account. Please follow the instructions [in this Help article](https://help.esper.io/hc/en-us/articles/12656959508497) to generate an access token.\nOnce you have the access token, you need to send an authorization header as below\n\n```bash\n\n curl -X GET \\\n https://<domain>-api.esper.cloud/api/enterprise/<enterprise_id>/device/ \\\n -H 'Authorization: Bearer <ACCESS_TOKEN>' \\\n -H 'Content-Type: application/json' \\\n```\n\n> Please note the use of keyword **Bearer** before the token value.\n\n\nYou can read more about api key authentication [here](https://help.esper.io/hc/en-us/articles/12656959508497).\n"
apps_management_apiKey:
type: http
scheme: bearer
description: "#### API KEY - Access Token\nAccess token for API is passed as authorization header in calls. You need to generate this from your Esper Console at `<domain>-api.esper.cloud` where foo is the sub-domain name you gave for your Esper Dev environment when you signed up for your Esper account. Please follow the instructions [in this Help article](https://help.esper.io/hc/en-us/articles/12656959508497) to generate an access token.\nOnce you have the access token, you need to send an authorization header as below\n\n```bash\n\n curl -X GET \\\n https://<domain>-api.esper.cloud/api/enterprise/<enterprise_id>/device/ \\\n -H 'Authorization: Bearer <ACCESS_TOKEN>' \\\n -H 'Content-Type: application/json' \\\n```\n\n> Please note the use of keyword **Bearer** before the token value.\n\n\nYou can read more about api key authentication [here](https://help.esper.io/hc/en-us/articles/12656959508497).\n"
commands_apiKey:
type: http
scheme: bearer
description: "#### API KEY - Access Token\nAccess token for API is passed as authorization header in calls. You need to generate this from your Esper Console at `<domain>-api.esper.cloud` where foo is the sub-domain name you gave for your Esper Dev environment when you signed up for your Esper account. Please follow the instructions [in this Help article](https://help.esper.io/hc/en-us/articles/12656959508497) to generate an access token.\nOnce you have the access token, you need to send an authorization header as below\n\n```bash\n\n curl -X GET \\\n https://<domain>-api.esper.cloud/api/enterprise/<enterprise_id>/device/ \\\n -H 'Authorization: Bearer <ACCESS_TOKEN>' \\\n -H 'Content-Type: application/json' \\\n```\n\n> Please note the use of keyword **Bearer** before the token value.\n\n\nYou can read more about api key authentication [here](https://help.esper.io/hc/en-us/articles/12656959508497).\n"
drift_apiKey:
type: http
scheme: bearer
description: "#### API KEY - Access Token\nAccess token for API is passed as authorization header in calls. You need to generate this from your Esper Console at `<domain>-api.esper.cloud` where foo is the sub-domain name you gave for your Esper Dev environment when you signed up for your Esper account. Please follow the instructions [in this Help article](https://help.esper.io/hc/en-us/articles/12656959508497) to generate an access token.\nOnce you have the access token, you need to send an authorization header as below\n\n```bash\n\n curl -X GET \\\n https://<domain>-api.esper.cloud/api/enterprise/<enterprise_id>/device/ \\\n -H 'Authorization: Bearer <ACCESS_TOKEN>' \\\n -H 'Content-Type: application/json' \\\n```\n\n> Please note the use of keyword **Bearer** before the token value.\n\n\nYou can read more about api key authentication [here](https://help.esper.io/hc/en-us/articles/12656959508497).\n"
device_onboarding_apiKey:
type: http
scheme: bearer
description: "#### API KEY - Access Token\nAccess token for API is passed as authorization header in calls. You need to generate this from your Esper Console at `<domain>-api.esper.cloud` where foo is the sub-domain name you gave for your Esper Dev environment when you signed up for your Esper account. Please follow the instructions [in this Help article](https://help.esper.io/hc/en-us/articles/12656959508497) to generate an access token.\nOnce you have the access token, you need to send an authorization header as below\n\n```bash\n\n curl -X GET \\\n https://<domain>-api.esper.cloud/api/enterprise/<enterprise_id>/device/ \\\n -H 'Authorization: Bearer <ACCESS_TOKEN>' \\\n -H 'Content-Type: application/json' \\\n```\n\n> Please note the use of keyword **Bearer** before the token value.\n\n\nYou can read more about api key authentication [here](https://help.esper.io/hc/en-us/articles/12656959508497).\n"
tenant_apiKey:
type: http
scheme: bearer
description: "#### API KEY - Access Token\nAccess token for API is passed as authorization header in calls. You need to generate this from your Esper Console at `<domain>-api.esper.cloud` where foo is the sub-domain name you gave for your Esper Dev environment when you signed up for your Esper account. Please follow the instructions [in this Help article](https://help.esper.io/hc/en-us/articles/12656959508497) to generate an access token.\nOnce you have the access token, you need to send an authorization header as below\n\n```bash\n\n curl -X GET \\\n https://<domain>-api.esper.cloud/api/enterprise/<enterprise_id>/device/ \\\n -H 'Authorization: Bearer <ACCESS_TOKEN>' \\\n -H 'Content-Type: application/json' \\\n```\n\n> Please note the use of keyword **Bearer** before the token value.\n\n\nYou can read more about api key authentication [here](https://help.esper.io/hc/en-us/articles/12656959508497).\n"
foundation_AuthToken:
type: apiKey
in: header
name: Authorization
reports_bearerAuth:
type: http
scheme: bearer
geofence_bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
x-tagGroups:
- name: ESPER CLOUD API
tags:
- esper_cloud_api_Company Settings
- esper_cloud_api_Application
- esper_cloud_api_Application V1
- esper_cloud_api_AndroidDevice
- esper_cloud_api_Device Group
- esper_cloud_api_Token (Deprecated)
- esper_cloud_api_Commands V2
- esper_cloud_api_Enterprise Policy
- esper_cloud_api_Geofence
- esper_cloud_api_Content
- esper_cloud_api_User (Deprecated)
- esper_cloud_api_User
- esper_cloud_api_Blueprint (Deprecated)
- esper_cloud_api_Directory Record
- esper_cloud_api_Tile Icon
- esper_cloud_api_Alerts
- esper_cloud_api_Alarms
- esper_cloud_api_Wallpapers
- esper_cloud_api_Device Telemetry
- esper_cloud_api_Daily and Custom Reports
- esper_cloud_api_SSO Connections
- esper_cloud_api_Roles
- esper_cloud_api_Personal Access Token
- name: BLUEPRINTS
tags:
- blueprints_Blueprints API
- blueprints_Custom Actions API
- blueprints_Background Scripts API
- name: PIPELINES
tags:
- pipelines_System Status Code
- pipelines_System
- pipelines_Pipelines
- pipelines_Stages
- pipelines_Target Lists
- pipelines_Targets
- pipelines_Device Groups
- pipelines_Operation Lists
- pipelines_Operations
- pipelines_Pipeline Runs
- pipelines_Stage Runs
- pipelines_Target Runs
- name: DEVICE
tags:
- device_Device
- device_Device Heartbeat
- device_Device Apps
- device_Device Enrollment in EMM
- device_Operations
- device_DeviceOperations
- device_MultiOS Remote Viewer
- name: APPS MANAGEMENT
tags:
- apps_management_VPP License Management
- apps_management_VPP App Management
- apps_management_Tenant Apps
- apps_management_Apple App Store
- apps_management_App List
- apps_management_Webclips
- apps_management_Provisioning Profiles
- apps_management_Preferred Regions
- apps_management_OEM Config Schema
- apps_management_Esper Apps
- apps_management_Tenant Esper Apps
- name: COMMANDS
tags:
- commands_Command Request
- commands_Command Status
- name: DRIFT
tags:
- drift_Converge
- drift_Converge Command
- drift_Blueprint Drift
- name: DEVICE ONBOARDING
tags:
- device_onboarding_DEP Sync Request
- device_onboarding_ABM Provisioning
- name: TENANT
tags:
- tenant_APNs certificate
- tenant_DEP Profile
- tenant_DEP Tokens
- tenant_VPP Token Management
- tenant_Google Enterprise
- tenant_MDM Service Config
- name: FOUNDATION
tags:
- foundation_FoundryBuilds
- foundation_FoundryDeviceModels
- foundation_FoundryEvents
- name: REPORTS
tags:
- reports_Reports API
- name: GEOFENCE
tags:
- geofence_Geofences
# --- truncated at 32 KB (32 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/esper/refs/heads/main/openapi/esper-pipelines-pipeline-runs-api-openapi.yml