Esper Pipelines Targets API

Targets subsystem

Operations 6

GET /pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/ Get all Targets in the Target List #
POST /pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/ Create a target for the target list #
GET /pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/{target_id}/ Get one target from target list #
PUT /pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/{target_id}/ Update a target in the target list #
DELETE /pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/{target_id}/ Delete a Target or Device from a Target List #
POST /pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets-bulk/ Bulk add targets to a target list #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/esper:esper-pipelines-targets-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

esper-pipelines-targets-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ESPER API REFERENCE Pipelines Targets 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_Targets
  description: Targets subsystem
  x-displayName: Targets
paths:
  /pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/:
    get:
      description: 'Retrieves all individual device Targets in a Pipeline Target List.


        Returns each device-level Target record within the specified Target List, including its device identifier and active state.


        **About Targets**

        A Target represents a single device entry within a Target List. Target Lists can hold Targets directly (individual devices) as well as Device Groups; this endpoint returns only the individually-added device Targets.


        **Key Fields / Query Parameters**

        - `pipeline_id` — UUID of the parent Pipeline

        - `targetlist_id` — UUID of the Target List to list Targets from'
      x-badges:
      - name: Stable
        color: green
      summary: Get all Targets in the Target List
      security:
      - pipelines_SCAPIAuthToken: []
      operationId: getTargetListTargets
      tags:
      - pipelines_Targets
      parameters:
      - name: pipeline_id
        in: path
        description: ID of the Pipeline
        required: true
        schema:
          type: string
      - name: targetlist_id
        in: path
        description: ID of the Target List
        required: true
        schema:
          type: string
      responses:
        '200':
          description: All Targets in Target List
          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_Target'
        '401':
          description: Target List get error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pipelines_Error_401_Unauthorized'
    post:
      description: 'Adds a device as an individual Target to a Pipeline Target List.


        Creates a new Target record scoped to the specified Target List, identifying a single device by its device_id so that pipeline stages using this Target List will act on it.


        **About Targets**

        A Target represents a single device entry within a Target List, as distinct from a Device Group (which adds many devices at once). Use this endpoint when a pipeline needs to target specific devices individually rather than an entire group.


        **Key Fields / Query Parameters**

        - `device_id` — Required — UUID of the device to add as a Target

        - `device_alias` — Optional display alias for the device within this Target List

        - `device_name` — Optional device name to store alongside the Target

        - `is_active` — Whether the Target is currently active and should be included in pipeline runs'
      x-badges:
      - name: Stable
        color: green
      summary: Create a target for the target list
      security:
      - pipelines_SCAPIAuthToken: []
      operationId: createTargetListTargets
      tags:
      - pipelines_Targets
      parameters:
      - name: pipeline_id
        in: path
        description: ID of the Pipeline
        required: true
        schema:
          type: string
      - name: targetlist_id
        in: path
        description: ID of the Target List
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/pipelines_Target_POST'
      responses:
        '200':
          description: All Targets in Target List
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  message:
                    type: string
                  content:
                    $ref: '#/components/schemas/pipelines_Target'
        '401':
          description: Target List get error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pipelines_Error_401_Unauthorized'
  /pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/{target_id}/:
    get:
      description: 'Retrieves a single Target from a Pipeline Target List.


        Returns the details of one device-level Target record, identified by target_id, within the specified Target List.


        **About Targets**

        A Target represents a single device entry within a Target List. This endpoint is the single-record counterpart to the Target List endpoint.


        **Key Fields / Query Parameters**

        - `pipeline_id` — UUID of the parent Pipeline

        - `targetlist_id` — UUID of the Target List

        - `target_id` — UUID of the specific Target record to retrieve'
      x-badges:
      - name: Stable
        color: green
      summary: Get one target from target list
      security:
      - pipelines_SCAPIAuthToken: []
      operationId: getTargetListTarget
      tags:
      - pipelines_Targets
      parameters:
      - name: pipeline_id
        in: path
        description: ID of the Pipeline
        required: true
        schema:
          type: string
          format: uuid
      - name: targetlist_id
        in: path
        description: ID of the Target List
        required: true
        schema:
          type: string
          format: uuid
      - name: target_id
        in: path
        description: ID of the Target
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Target from Target List
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  message:
                    type: string
                  content:
                    $ref: '#/components/schemas/pipelines_Target'
        '401':
          description: Target List device delete error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pipelines_Error_401_Unauthorized'
    put:
      description: 'Updates a Target in a Pipeline Target List.


        Updates the device_name and is_active fields of the specified Target record; this is a full-replacement update, so include both fields in the request. Not recommended for pipelines that are currently running.


        **About Targets**

        A Target represents a single device entry within a Target List. Updating a Target most commonly toggles is_active to include or exclude that device from future pipeline runs without removing the record entirely.


        **Key Fields / Query Parameters**

        - `target_id` — UUID of the Target to update

        - `device_name` — Updated display name for the device

        - `is_active` — Whether the Target should be included in pipeline runs'
      x-badges:
      - name: Stable
        color: green
      summary: Update a target in the target list
      security:
      - pipelines_SCAPIAuthToken: []
      operationId: updateTargetListTarget
      tags:
      - pipelines_Targets
      parameters:
      - name: pipeline_id
        in: path
        description: ID of the Pipeline
        required: true
        schema:
          type: string
          format: uuid
      - name: targetlist_id
        in: path
        description: ID of the Target List
        required: true
        schema:
          type: string
          format: uuid
      - name: target_id
        in: path
        description: ID of the Target
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/pipelines_Target_PUT'
      responses:
        '200':
          description: Updated Target from Target List
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  message:
                    type: string
                  content:
                    $ref: '#/components/schemas/pipelines_Target'
        '401':
          description: Target List device delete error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pipelines_Error_401_Unauthorized'
    delete:
      description: 'Removes a Target from a Pipeline Target List.


        Permanently deletes the specified device-level Target record from the Target List; the device itself is unaffected, only its inclusion in this pipeline''s scope.


        **About Targets**

        A Target represents a single device entry within a Target List. Deleting it removes that device from the pipeline''s scope for future runs — it does not affect any pipeline runs that have already started.


        **Key Fields / Query Parameters**

        - `pipeline_id` — UUID of the parent Pipeline

        - `targetlist_id` — UUID of the Target List

        - `target_id` — UUID of the Target to delete'
      x-badges:
      - name: Stable
        color: green
      summary: Delete a Target or Device from a Target List
      security:
      - pipelines_SCAPIAuthToken: []
      operationId: deleteTargetListTarget
      tags:
      - pipelines_Targets
      parameters:
      - name: pipeline_id
        in: path
        description: ID of the Pipeline
        required: true
        schema:
          type: string
          format: uuid
      - name: targetlist_id
        in: path
        description: ID of the Target List
        required: true
        schema:
          type: string
          format: uuid
      - name: target_id
        in: path
        description: ID of the Target
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Deleted Target from Target List
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  message:
                    type: string
                  content:
                    $ref: '#/components/schemas/pipelines_Target'
        '401':
          description: Target List device delete error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pipelines_Error_401_Unauthorized'
  /pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets-bulk/:
    post:
      x-badges:
      - name: Stable
        color: green
      summary: Bulk add targets to a target list
      description: Adds multiple targets to a target list. Creates target records if they don't exist, then links them to the target list. Existing targets in the list are left unchanged (skipped). Behaves the same as legacy /targets/ API. device_name should be provided for proper target run creation. device_alias can be provided as a direct property and will be stored in device_meta.
      security:
      - pipelines_SCAPIAuthToken: []
      operationId: bulkAddTargetListTargets
      tags:
      - pipelines_Targets
      parameters:
      - name: pipeline_id
        in: path
        description: ID of the Pipeline
        required: true
        schema:
          type: string
          format: uuid
      - name: targetlist_id
        in: path
        description: ID of the Target List
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        description: Array of device IDs (strings) or device objects with metadata
        content:
          application/json:
            schema:
              oneOf:
              - type: array
                items:
                  type: string
                  description: Device ID
                example:
                - device_id: 18d21907-a3b3-491b-9237-d835de82a3ef
                  device_name: ESPR-LAB-AAA03
                  device_alias: Actineon Edge 10A
                - device_id: 550e8400-e29b-41d4-a716-446655440002
                  device_name: ESPR-LAB-AAA04
                  device_alias: Actineon Edge 10B
              - type: array
                items:
                  type: object
                  required:
                  - device_id
                  properties:
                    device_id:
                      type: string
                      description: Device ID (UUID)
                    device_name:
                      type: string
                      description: Device name (should be provided for proper target run creation)
                    device_alias:
                      type: string
                      description: Device alias (optional, stored in device_meta)
                    device_meta:
                      type: object
                      description: Device metadata (optional)
                    args:
                      type: object
                      description: Custom arguments (optional)
                    is_active:
                      type: boolean
                      description: Active status (optional, defaults to true)
      responses:
        '200':
          description: Bulk add completed successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  message:
                    type: string
                    example: Bulk add completed. 2 target(s) created, 5 target(s) added to list, 1 target(s) skipped.
                  content:
                    type: object
                    properties:
                      created_count:
                        type: integer
                        description: Number of new target records created
                        example: 2
                      added_count:
                        type: integer
                        description: Number of targets successfully added to the list
                        example: 5
                      skipped_count:
                        type: integer
                        description: Number of targets that were already in the list
                        example: 1
                      errors:
                        type: array
                        items:
                          type: object
                        description: List of any errors encountered
                        example: []
        '400':
          description: Bad request - invalid input
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pipelines_Error_400_Bad_Data'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pipelines_Error_401_Unauthorized'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pipelines_Error_500_Internal_Server_Error'
components:
  schemas:
    pipelines_Target_POST:
      type: object
      properties:
        device_id:
          type: string
          format: uuid
        device_alias:
          type: string
        device_name:
          type: string
        is_active:
          type: boolean
      required:
      - device_id
      - device_name
    pipelines_Error_401_Unauthorized:
      type: object
      properties:
        code:
          type: integer
          format: int32
          default: 401
        message:
          type: string
        content:
          type: object
      required:
      - code
      - message
    pipelines_Target_PUT:
      type: object
      properties:
        device_name:
          type: string
        is_active:
          type: boolean
    pipelines_Target:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        pipeline_id:
          type: string
          format: uuid
        device_id:
          type: string
          format: uuid
        device_name:
          type: string
        device_alias:
          type: string
        is_active:
          type: boolean
        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
    pipelines_Error_500_Internal_Server_Error:
      type: object
      properties:
        code:
          type: integer
          format: int32
          default: 500
        message:
          type: string
        content:
          type: object
      required:
      - code
      - message
    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-targets-api-openapi.yml