Esper Esper Cloud API Wallpapers API

The esper_cloud_api_Wallpapers API from Esper — 2 operation(s) for esper_cloud_api_wallpapers.

Operations 4

GET /v1/enterprise/{enterprise_id}/wallpaper/ Get list of wallpapers #
POST /v1/enterprise/{enterprise_id}/wallpaper/ Create wallpaper #
GET /v1/enterprise/{enterprise_id}/wallpaper/{wallpaper_id}/ Get instance of wallpaper #
DELETE /v1/enterprise/{enterprise_id}/wallpaper/{wallpaper_id}/ Deletes instance of wallpaper #

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-esper-cloud-api-wallpapers-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-esper-cloud-api-wallpapers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ESPER API REFERENCE Esper Cloud API Wallpapers 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: esper_cloud_api_Wallpapers
  x-displayName: Wallpapers
paths:
  /v1/enterprise/{enterprise_id}/wallpaper/:
    get:
      x-badges:
      - name: Stable
        color: green
      tags:
      - esper_cloud_api_Wallpapers
      summary: Get list of wallpapers
      description: 'Returns a paginated list of all wallpaper images uploaded to the enterprise. Each result includes the image URL, thumbnail URL, orientation, and active status. Wallpapers can be uploaded directly via the API or may have been added through a blueprint configuration.


        **Response fields of note**


        id — UUID identifying the wallpaper; used to reference it in Windows blueprint wallpaper settings


        image_file — URL of the full-resolution wallpaper image


        thumbnail — URL of the thumbnail preview


        orientation — Orientation of the image (e.g., landscape)


        is_active — Whether the wallpaper is currently active


        created_on / updated_on — Timestamps for auditing purposes


        **Common Use Cases**


        Discovering wallpaper_id values to reference in Windows blueprint homescreen or lock screen wallpaper settings


        Verifying a wallpaper was successfully uploaded before referencing it in a blueprint


        Building wallpaper selection UIs in custom management tools


        **Best Practices**


        Use timestamp filters to scope results when auditing recently added or modified wallpapers rather than fetching the full list


        Store wallpaper_id UUIDs for use in Windows blueprint configuration — the wallpaper_id field appears in both homescreen and lock screen landscape settings


        Note that wallpapers uploaded as part of a blueprint configuration will also appear in this list and can be reused across multiple blueprints'
      operationId: getWallpapers
      parameters:
      - name: enterprise_id
        in: path
        description: A UUID string identifying this enterprise.
        required: true
        schema:
          type: string
      - name: created_on_gt
        in: query
        description: Filter applications created after a given timestamp.
        schema:
          type: string
          format: datetime
      - name: created_on_lt
        in: query
        description: Filter applications created before a given timestamp.
        schema:
          type: string
          format: datetime
      - name: updated_on_gt
        in: query
        description: Filter applications updated after a given timestamp.
        schema:
          type: string
          format: datetime
      - name: updated_on_lt
        in: query
        description: Filter applications updated before a given timestamp.
        schema:
          type: string
          format: datetime
      - name: limit
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
          default: 20
      - name: offset
        in: query
        description: Return results from this index.
        schema:
          type: integer
          default: 0
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                required:
                - count
                - results
                type: object
                properties:
                  count:
                    type: integer
                  next:
                    type:
                    - string
                    - 'null'
                    format: url
                  previous:
                    type:
                    - string
                    - 'null'
                    format: url
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/esper_cloud_api_Wallpaper'
        '401':
          description: Authorization information is missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/esper_cloud_api_ErrorResponse'
        '404':
          description: Not Found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/esper_cloud_api_ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/esper_cloud_api_ErrorResponse'
      security:
      - esper_cloud_api_apiKey: []
    post:
      x-badges:
      - name: Stable
        color: green
      tags:
      - esper_cloud_api_Wallpapers
      summary: Create wallpaper
      description: 'Uploads a new wallpaper image to the enterprise. The image is submitted as a multipart/form-data request and, once uploaded, can be referenced by wallpaper_id in Windows blueprint homescreen and lock screen settings. There is no dedicated wallpaper library in the console. Wallpapers are only visible by previewing their associated blueprint.


        **Request body (multipart/form-data)**

        **Request body (multipart/form-data)**


        image_file (required) — The image file to upload


        orientation (required) — Orientation of the image (e.g., landscape)


        **Common Use Cases**


        Adding a new branded wallpaper before assigning it to a Windows blueprint


        Programmatically uploading wallpapers as part of an enterprise onboarding or branding


        **Workflow**


        Adding a new branded wallpaper before assigning it to a blueprint


        Programmatically uploading wallpapers as part of an enterprise onboarding or branding


        **Workflow**


        Replacing an outdated wallpaper by uploading a new version and updating blueprint references to point to the new wallpaper_id


        **Best Practices**


        Store the wallpaper_id UUID from the response — it is required to reference the wallpaper in a blueprint homescreen and lock screen settings


        Since wallpapers are not browsable in the Console, use GET /v1/enterprise/{enterprise_id}/wallpaper/ to audit what has been uploaded and avoid creating duplicates


        Specify orientation accurately at upload time — this metadata cannot be changed after upload; upload a new image if the orientation needs to be corrected


        Verify a wallpaper is not referenced in any active blueprint before deleting it, as there is no Console warning to flag active references'
      operationId: addWallpaper
      parameters:
      - name: enterprise_id
        in: path
        description: A UUID string identifying this enterprise.
        required: true
        schema:
          type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              required:
              - image_file
              - orientation
              properties:
                image_file:
                  type: string
                  description: Valid file to upload
                  format: path
                orientation:
                  type: string
                  description: Orientation of image e.g. landscape
        required: true
      responses:
        '201':
          description: Successful Operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/esper_cloud_api_Wallpaper'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/esper_cloud_api_ErrorResponse'
        '401':
          description: Authorization information is missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/esper_cloud_api_ErrorResponse'
        '403':
          description: Forbidden, no permission to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/esper_cloud_api_ErrorResponse'
        '415':
          description: Unsupported media type.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/esper_cloud_api_ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/esper_cloud_api_ErrorResponse'
      security:
      - esper_cloud_api_apiKey: []
  /v1/enterprise/{enterprise_id}/wallpaper/{wallpaper_id}/:
    get:
      x-badges:
      - name: Stable
        color: green
      tags:
      - esper_cloud_api_Wallpapers
      summary: Get instance of wallpaper
      description: 'Returns the details of a single wallpaper image identified by its UUID wallpaper_id, including the full-resolution image URL, thumbnail URL, orientation, and active status. There is no dedicated wallpaper library in the Console — wallpapers are only visible by previewing the blueprint they are associated with, making this endpoint the primary way to retrieve details for a specific wallpaper programmatically.


        **Response fields of note**

        **Response fields of note**


        id — UUID identifying the wallpaper


        image_file — URL of the full-resolution wallpaper image


        thumbnail — URL of the thumbnail preview


        orientation — Orientation of the image (e.g., landscape)


        is_active — Whether the wallpaper is currently active


        created_on / updated_on — Timestamps for auditing purposes


        **Common Use Cases**


        Retrieving wallpaper details to confirm a successful upload before referencing the wallpaper_id in a blueprint


        Auditing the metadata of a specific wallpaper when the wallpaper_id is already known


        Verifying the orientation or active status of a wallpaper before assigning it to a Windows blueprint


        **Best Practices**


        If the wallpaper_id is not already known, use GET /v1/enterprise/{enterprise_id}/wallpaper/ with timestamp filters to locate it — wallpapers are not browsable in the Console


        This endpoint returns metadata and image URLs only; the image itself must be accessed directly via the image_file URL in the response'
      operationId: getWallpaper
      parameters:
      - name: enterprise_id
        in: path
        description: A UUID string identifying this enterprise.
        required: true
        schema:
          type: string
      - name: wallpaper_id
        in: path
        description: A UUID string identifying the wallpaper.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/esper_cloud_api_Wallpaper'
        '401':
          description: Authorization information is missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/esper_cloud_api_ErrorResponse'
        '404':
          description: Not Found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/esper_cloud_api_ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/esper_cloud_api_ErrorResponse'
      security:
      - esper_cloud_api_apiKey: []
    delete:
      x-badges:
      - name: Stable
        color: green
      tags:
      - esper_cloud_api_Wallpapers
      summary: Deletes instance of wallpaper
      description: 'Permanently deletes a wallpaper image from the enterprise identified by its UUID wallpaper_id. This action is irreversible. Since there is no dedicated wallpaper library in the Console, use GET /v1/enterprise/{enterprise_id}/wallpaper/ to confirm the correct wallpaper_id before deleting.


        **Common Use Cases**


        Removing outdated or superseded wallpaper images from the enterprise


        Cleaning up duplicate or test wallpapers uploaded during setup


        Decommissioning branding assets that are no longer in use


        **Best Practices**


        Verify the wallpaper is not currently referenced in any active blueprint before deleting — there is no Console warning to flag active references, and removing a wallpaper that is still assigned to a blueprint may result in those devices receiving no wallpaper on next convergence


        Confirm the correct wallpaper_id using GET /v1/enterprise/{enterprise_id}/wallpaper/{wallpaper_id}/ before deleting — this action cannot be undone


        If replacing a wallpaper rather than simply removing it, upload the new image first via POST /v1/enterprise/{enterprise_id}/wallpaper/, update all blueprint references to the new wallpaper_id, and then delete the old wallpaper'
      operationId: deleteWallpaper
      parameters:
      - name: enterprise_id
        in: path
        description: A UUID string identifying this enterprise.
        required: true
        schema:
          type: string
      - name: wallpaper_id
        in: path
        description: A UUID string identifying the wallpaper.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: The resource was deleted successfully.
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/esper_cloud_api_ErrorResponse'
        '401':
          description: Authorization information is missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/esper_cloud_api_ErrorResponse'
        '403':
          description: Forbidden, no permission to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/esper_cloud_api_ErrorResponse'
        '404':
          description: Not Found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/esper_cloud_api_ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/esper_cloud_api_ErrorResponse'
      security:
      - esper_cloud_api_apiKey: []
components:
  schemas:
    esper_cloud_api_ErrorResponse:
      type: object
      properties:
        errors:
          title: Messages describing the error
          type: array
          items:
            type: string
        message:
          title: Message describing the error
          type: string
        status:
          title: alias name
          type: integer
    esper_cloud_api_Wallpaper:
      type: object
      properties:
        id:
          type: string
          format: uuid
        enterprise:
          type: string
          format: uuid
        image_file:
          type: string
          format: url
        thumbnail:
          type: string
          format: url
        orientation:
          type: string
        is_active:
          type: boolean
        created_on:
          type: string
          format: date-time
        updated_on:
          type: string
          format: date-time
  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
  - geofence_Device State
x-provenance:
  method: harvested
  publisher: Esper
  source: https://api.esper.io/_bundle/openapi.json?download
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)